rpc 小例子
2015-11-23 00:30
399 查看
RpcFramework
RpcConsumer
实际上,RPC的原理其实很简单:
服务器启动了一个线程监听 Socket 端口,
有Socket访问了, 反序列化解析出
调用哪个Service 哪个 方法, 以及传入的 参数,
再用Socket 写回去.
客户端 利用 Jdk 的Proxy 生成了一个代理类,
在创建 Proxy 时建立与服务器的Socket连接.
调用 Proxy 的方法时, 向服务器发送数据, 等待结果返回.
/* * Copyright 2011 Alibaba.com All right reserved. This software is the * confidential and proprietary information of Alibaba.com ("Confidential * Information"). You shall not disclose such Confidential Information and shall * use it only in accordance with the terms of the license agreement you entered * into with Alibaba.com. */ /** * RpcConsumer * * @author william.liangf */ public class RpcConsumer { public static void main(String[] args) throws Exception { HelloService service = RpcFramework.refer(HelloService.class, "127.0.0.1", 1234); for (int i = 0; i < Integer.MAX_VALUE; i ++) { String hello = service.hello("World" + i); System.out.println(hello); Thread.sleep(1000); } } }
RpcConsumer
实际上,RPC的原理其实很简单:
服务器启动了一个线程监听 Socket 端口,
有Socket访问了, 反序列化解析出
调用哪个Service 哪个 方法, 以及传入的 参数,
再用Socket 写回去.
客户端 利用 Jdk 的Proxy 生成了一个代理类,
在创建 Proxy 时建立与服务器的Socket连接.
调用 Proxy 的方法时, 向服务器发送数据, 等待结果返回.
相关文章推荐
- git常用命令
- 互联网及相关公司的求职经历分享
- leetcode之Implement Trie (Prefix Tree)
- 字符串转化为数学表达式并求值(后缀表达式)
- 如何修改eclipse中@author的默认选项
- Oracle清空或者删除当前用户下所有的表
- U盘自动复制文件
- 草莓派入门(八)
- 几种基于HTTP协议的RPC性能比较
- HIVE-CONF
- three.js 入门(创建模型的必要因素)
- 如何用好百度网盘
- 我的电磁学讲义14:动生电动势和感生电动势
- android studio 学习心得
- Android中子线程中更新UI的N中方法
- 草莓派入门(七)
- CentOS ping: unknown host 解决方法
- 矩阵相乘
- MySQL 字符集学习笔记
- 草莓派入门(六)