目录
dubbo是什么
Dubbo是一个支持远程服务调用的分布式框架。
负载均衡算法
RandomLoadBalance:权重随机算法,根据权重值进行随机负载
RoundRobinLoadBalance:加权轮询算法
LeastActiveLoadBalance:最少活跃调用数算法,活跃调用数越小,表明该服务提供者效率越高,单位时间内可处理更多
的请求这个是比较科学的负载均衡算法。
ConsistentHashLoadBalance:hash 一致性算法,相同参数的请求总是发到同一提供者
集群容错(容忍错误)
Failover Cluster:失败自动切换,当出现失败,重试其它服务器,通常用于读操作但,重试会带来更长延迟,可通过
retries="2"来设置重试次数(不含第一次)
Failfast Cluster:快速失败,只发起一次调用,失败立即报错,通常用于非幂等性的写操作,比如新增记录
Failsafe Cluster:失败安全,出现异常时,直接忽略,通常用于写入审计日志等操作
Failback Cluster:失败自动恢复,后台记录失败请求,定时重发,通常用于消息通知操作
Forking Cluster:并行调用多个服务器,只要一个成功即返回,通常用于实时性要求较高的读操作,但需要浪费更多服务
资源。可通过forks="2"来设置最大并行数。
Broadcast Cluster:广播调用所有提供者,逐个调用,任意一台报错则报错
Dubbo的SPI
https://blog.csdn.net/xiaowanzi_zj/article/details/121728270
Java的SPI
https://blog.csdn.net/xiaowanzi_zj/article/details/121588622