美文网首页
dubbo的各种cluster的策略

dubbo的各种cluster的策略

作者: 悟空嘿 | 来源:发表于2019-02-28 11:05 被阅读0次

    dubbo中的cluster和他们对应的name

    mock=com.alibaba.dubbo.rpc.cluster.support.wrapper.MockClusterWrapper

    failover=com.alibaba.dubbo.rpc.cluster.support.FailoverCluster

    failfast=com.alibaba.dubbo.rpc.cluster.support.FailfastCluster

    failsafe=com.alibaba.dubbo.rpc.cluster.support.FailsafeCluster

    failback=com.alibaba.dubbo.rpc.cluster.support.FailbackCluster

    forking=com.alibaba.dubbo.rpc.cluster.support.ForkingCluster

    available=com.alibaba.dubbo.rpc.cluster.support.AvailableCluster

    mergeable=com.alibaba.dubbo.rpc.cluster.support.MergeableCluster

    broadcast=com.alibaba.dubbo.rpc.cluster.support.BroadcastCluster

    1.MergeableCluster聚合集群,将集群中的调用结果聚合起来返回结果。比如菜单服务,接口一样,但有多种实现,用group区分,现在消费方需从每种group中调用一次返回结果,合并结果返回,这样就可以实现聚合菜单项;

    2.AvailableCluster源码的这个写法是比较优雅的,遍历所有的Invokers判断invoker.isAvalible,只要一个有为true直接调用返回,否则就抛出异常.

    3.ForkingCluster并行调用多个服务器,只要一个成功即返回。通常用于实时性要求较高的读操作,但需要浪费更多服务资源。可通过 forks="2" 来设置最大并行数。

    4.FailfastCluster快速失败,只发起一次调用,失败立即报错。通常用于非幂等性的写操作,比如新增记录。

    5.FailoverCluster dubbo里面容错方案的缺省值.失败自动切换,当出现失败,重试其它服务器。通常用于读操作,但重试会带来更长延迟。可通过 retries="2" 来设置重试次数(不含第一次)

    6.FailbackCluster 失败自动恢复,后台记录失败请求,定时重发。通常用于消息通知操作。

    7.FailsafeCluster 失败安全,出现异常时,直接忽略。通常用于写入审计日志等操作。

    相关文章

      网友评论

          本文标题:dubbo的各种cluster的策略

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