Dubbo(一)

  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(一))