RPC

RPC架构(怎么设计RPC)

  1. 服务层,Service,其中主要部分就是动态代理,主要用于将服务提供者的接口封装成远程服务调用。
  2. 过滤器层,服务调用职责链,提供多种调用切面供框架自身和使用者扩展,例如负载均衡,性能统计,服务调用完成通知,失败重试等。
  3. RPC 层,这里就是 RPC 框架的核心部分,包括通信框架(Netty、Http),序列化框架,还有用于屏蔽底层通信框架和序列化框架的抽象接口

分布式服务框架通常会包含另外两个重要功能:服务治理中心(系统监测、性能、报警、故障定位) 和 服务注册中心

一个RPC应该支持:

  1. 服务订阅发布:比如,配置化发布和引用服务,服务自动发现,服务在线注册和取消注册。
  2. 服务路由:比如,默认提供随机路由,轮询,基于权重的路由,粘滞连接,路由定制功能。
  3. 集群容错:比如,Failover(失败自动切换),Failback(失败自动恢复),Failfast(快速失败)。
  4. 服务调用:需要支持:同步调用,异步调用,并行调用。
  5. 多协议:包括私有协议,公有协议。
  6. 序列化方式:需要支持二进制和文本类序列化方式。
  7. 统一配置:支持本地静态配置,支持基于配置中心的动态配置。
posted @ 2021-04-23 23:00  i%2  阅读(42)  评论(0)    收藏  举报