美文网首页Java
Dubbo(一)

Dubbo(一)

作者: jasperchen | 来源:发表于2020-03-05 15:25 被阅读0次
    1. 简介
      Dubbo是一个RPC框架

    2. Dubbo使用的协议:
      dubbo://
      rmi://
      http://
      redis://
      webservice://
      hessian://
      thrift://

    默认协议是dubbo
    dubbo协议的使用场景:

    • 数据量小高并发
    • 消费者远多于服务提供者
      dubbo协议采用的是异步单一长连接。
      为什么单一:可以确保一个消费者和提供者只有一个连接,避免了单一消费者多连接增加有功者压力的风险。
      为什么长连接:TCP连接需要三次握手四次握手,减少了这部分建立断开的消耗。
      为什么异步:大多数情况下,消费者数量都是多于提供者的,异步传输可以有效减少提供者的压力。
    1. Dubbo负载均衡策略:

      • randon loadbalance
        默认随机调用。可以设置权重

      • roundrobin loadbalance
        轮询,均匀的将请求打到每个提供者

      • leastactive loadbalance
        自动感知,根据提供者的活跃度,如果某个机器的性能非常优秀,接受的请求多,则越活跃,则后续接受到的请求则越多。

      • consistanthash loadbalance
        一致性hash算法,相同参数的请求一定分发到一个provider上。如果provider挂掉了,会基于虚拟节点均匀的分配剩余的流量,不会出现大抖动的情况。

    2. Dubbo集群容错策略

    • failover cluster
      失败自动切换, 自动重试其它机器。缺省方案

    • failfast cluster
      一次调用失败就立即失败,常用于写操作。

    • failsafe cluster
      出现异常时忽略,常用于不重要的接口调用,比如记录日志。

    • failback cluster
      失败了后台自动记录请求, 然后定时重发, 适合写消息队列。

    • forking cluster
      并行调用多个provider, 只要一个成功就立即返回。

    • broadcast cluster
      逐个调用所有的provider

    下一次写dubbo的结构层的作用。

    相关文章

      网友评论

        本文标题:Dubbo(一)

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