手写rpc类图
2019-12-19 10:19:10 0 举报
手写rpc类图,求点赞,挣免费文件数
作者其他创作
大纲/内容
BioNetClient
-
ZkExportServiceRegister
- zkAddress:String
+ set/get...
LocalConfigServiceInfoDiscoverer
+ getServiceInfo(String name):List<ServiceInfo>
NettyRpcServer
+ start()+ stop()
过程定义接口1
RequestHandler
- protocol:MessageProtocol
+ get/set...+ handleRequest(byte[] data): byte[]
ServiceObject
- name:String- interf:Class<?>- obj:Object
+ get/set...
MinaRpcServer
ClientStubProxyFactory
+ getProxy(Class<?> interf)+ setServiceInfoDiscoverer(ServiceInfoDiscoverer sid)
<<interface>>MessaqeProtocol
+ marshallingRequest(Request req):byte[]+ unmarshallingRequest(byte data):Request+ marshallingResponse(Response rsp):byte[]+ unmarshallingResponse(byte data):Response
HttpMessageProtocol
设计客户端代理工厂
<<abstract>>RpcServer
- port:int- protocol:String- handler:RequestHandler
+ get/set+ abstract start()+ abstract stop()
NettyNetClient
ServiceInfo
- name : String- protocol : String- address : String
+ get/set ...
设计服务端-RPCserver
客户端stub代理
- sid : ServiceInfoDiscoverer
+ marshalling()+ unmarshalling()
<<interface>>InvocationHandler
ZookeeperServiceInfoDiscoverer
过程实现类1
Request
<<interface>>NetClient
ClientStubInvocationHandler
- port:int- protocol:String
内部类
< < interface> >ServiceRegister
设计客户端-扩展协议层方法
服务端
客户端
<<Enum>>StatusEnum
+ get...
DefaultServiceRegister
设计客户端-协议层-标准请求、响应类
Response
- port:int- protocol:String- handler:RequestHandler
RPC框架类图
设计客户端-网络层
+ getProxy(Class<?> interf)
<<interface >>ServiceInfoDiscoverer
+getServiceInfo(String name) : List<ServiceInfo>
设计客户端-设计发现者
JSONMessageProtocol
设计客户端-协议层
设计服务端-RPCserver-RequestHandler
0 条评论
回复 删除
下一页