Dubbo源码学习--AvailableCluster集群容错(二)

墨蓝 2022-05-28 01:21 221阅读 0赞

AvailableCluster

  1. 简单的集群容错方式,如果服务提供者可用就直接调用服务,并且不需要任何负载均衡处理。
  2. public class AvailableCluster implements Cluster {
  3. public static final String NAME = "available";
  4. public <T> Invoker<T> join(Directory<T> directory) throws RpcException {
  5. return new AbstractClusterInvoker<T>(directory) {
  6. public Result doInvoke(Invocation invocation, List<Invoker<T>> invokers, LoadBalance loadbalance) throws RpcException {
  7. for (Invoker<T> invoker : invokers) {
  8. //如果服务可用就直接调用,也不需要负载均衡
  9. if (invoker.isAvailable()) {
  10. return invoker.invoke(invocation);
  11. }
  12. }
  13. throw new RpcException("No provider available in " + invokers);
  14. }
  15. };
  16. }
  17. }

发表评论

表情:
评论列表 (有 0 条评论,221人围观)

还没有评论,来说两句吧...

相关阅读