Dubbo

Dubbo 是一个RPC远程调用框架

服务端上线,将服务提供者注册到注册中心,并通过代理的方式提供真正的调用

客户端上线,从注册中心获取服务提供列表,聚合成一个Invoker(可执行代理),通过一定的负载均衡算法选择其中一个提供者进行调用,并且提供了各种调用失败策略

框架运用了SPI扩展机制,并提供了各种配置,底层通信框架用的是netty

线程池模型:https://www.cnblogs.com/java-zhao/p/7822766.html

负载均衡策略:

RandomLoadBalance:随机加权

RoundRobinLoadBalance:轮询

ConsistentHashLoadBalance:一致性hash,客户端请求始终落到某个服务端

LeastActiveLoadBalance:最近活动数(最少调用)

集群容错(高可用)策略:

FailoverCluster:失败转移,当出现失败,重试其它服务器,通常用于读操作,但重试会带来更长延迟

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

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

FailfastCluster:快速失败,只发起一次调用,失败立即报错,通常用于非幂等性的写操作。

你可能感兴趣的:(Dubbo)