美文网首页微服务
微服务系列-dubbo框架介绍

微服务系列-dubbo框架介绍

作者: 无拘无束的猪 | 来源:发表于2019-03-12 23:23 被阅读0次

    Dubbo协议

    Dubbo 不仅支持私有的 Dubbo 协议,还支持其他协议比如 Hessian、RMI、HTTP、Web Service、Thrift 等。下面这张图描述了私有 Dubbo 协议的协议头约定。

    至于数据序列化和反序列方面,Dubbo 同样也支持多种序列化格式,比如 Dubbo、Hession 2.0、JSON、Java、Kryo 以及 FST 等,可以通过在 XML 配置中添加下面的配置项。

    <dubbo:protocol name="dubbo" serialization="kryo"/>

    服务治理

    服务治理手段包括节点管理、负载均衡、服务路由、服务容错等,下面这张图给出了 Dubbo 框架服务治理的具体实现。

    图中的 Invoker 是对服务提供者节点的抽象,Invoker 封装了服务提供者的地址以及接口信息。

    ~节点管理:Directory 负责从注册中心获取服务节点列表,并封装成多个 Invoker,可以把它看成“List<Invoker>” ,它的值可能是动态变化的,比如注册中心推送变更时需要更新。

    ~负载均衡:LoadBalance 负责从多个 Invoker 中选出某一个用于发起调用,选择时可以采用多种负载均衡算法,比如 Random、RoundRobin、LeastActive 等。

    ~服务路由:Router 负责从多个 Invoker 中按路由规则选出子集,比如读写分离、机房隔离等。

    ~服务容错:Cluster 将 Directory 中的多个 Invoker 伪装成一个 Invoker,对上层透明,伪装过程包含了容错逻辑,比如采用 Failover 策略的话,调用失败后,会选择另一个 Invoker,重试请求。

    一次服务调用的流程

    相关文章

      网友评论

        本文标题:微服务系列-dubbo框架介绍

        本文链接:https://www.haomeiwen.com/subject/jpqapqtx.html