目录
目标
针对淘宝RPC中间件-HSF,个人选择性的阅读了源码,并绘制流程图,以便清晰展示重要流程,包括服务发布、服务订阅、服务调用。
版本
HSF 2.0
Netty 3.6.5
需要考虑什么
RPC需要考虑
网络框架 协议 序列化方式 服务发现机制
服务器端需要考虑
服务target路由 服务吞吐量(每个服务一个线程池) 过滤机制(代理)
客户端需要考虑
服务地址路由(接口名->方法名->参数维度) 过滤机制(代理)
服务发布与订阅的流程
发布与订阅的入口类
ProcessComponent
创建服务的发布者和消费者,控制整个发布流程和生成服务调用代理的流程
列举发布、订阅、创建代理的行为
public Object consume(ServiceMetadata metadata)
public void publish(ServiceMetadata metadata)
private <T> T createxxxDynamicProxy(final ServiceMetadata metadata, Class<?>[] classes)
服务的元数据
ServiceMetadata
HSF服务的元数据(如接口名称 版本 组名 超时 线程池等很多信息)