开源RPC框架
- 通信框架
- 通信协议
- 序列化和反序列格式
Dubbo的架构
- 其中Consumer是服务消费者
- Provider是服务提供者
- Registry是注册中心
- Monitor是监控中心
交互流程:
- Consumer一端通过注册中心获取到Provider节点后,通过Dubbo的客户端SDK与Provider建立连接,并发起调用,Provider通过Dubbo的服务端SDK接收到Consumer的请求,处理后再把结果返回给Consumer。
Dubbo框架如何实现:
- 通信框架方面: Dubbo默认采用Netty作为通信框架
- 通信协议方面: Dubbo除了支持私有的Dubbo协议外还支持RMI协议,Hession协议,Http协议,Thrift协议。
- 序列号方面;Dubbo支持多种序列号格式,比如Dubbo,Hession,JSON,Kryo,FST
Eureka注册中心
流程:
- 请求统一通过Api 网关Zuul 来访问内部服务,先经过Token安全认证
- 通过安全认证之后,官网Zuul从注册中心Eureka获取到可用服务节点列表
- 从可用服务节点选取一个可用节点,然后把请求分发到这个节点
- 整个请求过程中,Hystrix组件负责处理服务的超时熔断,Turbine负责监控服务间的调用和熔断相关指 标,Sleuth组件负责调用链路,Elk负责日志分析
Motan
知道就可以大致了解一下不做要求
跨语言平台的RPC框架
gRPC
只做了解后期补充