您的位置:首页 > 其它

自定义RPC框架思路整理

2017-02-04 00:26 211 查看

RPC框架数据流程



RPC框架服务端启动原理

要使用我们自定义的RPC框架,服务端必须要做下面两件事:

在业务接口的实现类上面添加@RPCService注解

在Spring框架的applicationContext.xml文件中配置框架提供的bean

<bean id="rpcServer" class="cn.itcast.rpc.server.RpcServer">
<constructor-arg name="serverAddress" value="${server.address}"/>
<constructor-arg name="serviceRegistry" ref="serviceRegistry"/>
</bean>


一旦启动Spring框架,Spring框架就会使用我们指定的构造函数来构造指定的类的实例。这个类实现了
org.springframework.context.ApplicationContextAware
接口。因此Spring会通过
setApplicationContext
方法传递进Context对象。然后通过Context对象就可以获得所有添加了@RPCService注解的类的实例。最后启动netty,即可开启rpc服务器程序。

RPC框架服务端功能列表

读取配置文件,获得ZooKeeper集群地址,向ZooKeeper注册自己的地址

获取所有@RpcService注释的类对象

监听socket端口,解析客户端的请求,调用客户端指定的方法并返回结果

RPC框架代码运行流程



客户端调用服务器原理

用户代码通过框架取得Service实现类(动态代理)。动态代理类截获客户端具体的调用过程,然后向服务端发送请求。最后获得结果。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: