《分布式服务框架原理与实践》阅读笔记2

序列化与反序列化

  序列化和反序列化是RPC框架的基础组成部分,设计的好坏对服务化框架的性能、可扩展性和可靠性影响都很大。尽管业界存在多款序列化框架,但是我们在设计时需要从功能丰富度、跨语言支持、兼容性、性能,甚至社区活跃度等多个角度去综合考量,从中择优。

  Serializable, xml, json, MessagePack, fastjson, Protocol Buffer, Thrift, Avro.

协议栈

  对接异构第三方服务时,通常会选择HTTP/RESTFUL等公有协议;对于内部不模块的服务调用,往往会选择性能较高的二进制私有协议。

  链路创建,由调用方发起创建,双方握手后创建。链路关闭,发生异常后或者接收到关闭信号后关闭链路。

服务路由

  分布式服务框架.上线运行时都是集群组网,这意味着集群中存分布式服务框架.上线运行时都是集群组网,这意味着集群中存务提供者进行调用,这就涉及到服务路由。分布式服务框架要能够满足用户灵活的路由需求。

  基于服务注册中心的订阅发布;消费者缓存提供者地址;

  负载均衡(随机、轮循、调用时延、一致性哈希、粘滞连接(会话保持));

  路由策略,本地路由优先,条件规则路由,脚本路由规则。

集群容错

  容错策略:失败切换(failover),失败通知(failback),失败缓存(failcache), 快速失败(failfast),扩展。

  集群容错从功能.上看很简单,设计也并不复杂,但是该特性却非常重要,相比于传统的RPC框架,分布式服务框架让用户开发变得更简单,体验也更好。从功能上看,服务框架需要提供更丰富、更细粒度的功能和扩展点,这就是它相比于传统RPC框架最大的优势。

posted @ 2020-05-26 15:34  星辰°  阅读(121)  评论(0编辑  收藏  举报