Dubbo工作流程、特点、负载均衡及容错机制总结

Dubbo框架图

在这里插入图片描述

工作流程

1.启动服务所在容器,异步将服务列表注册到注册中心
2.消费者启动,从注册中心订阅所需的服务列表,当服务列表有变化时,注册中心会将服务列表推送到消费者
3.消费者可以通过服务列表选择一个服务者进行同步调用
4.消费者与服务者会统计服务调用时间与调用次数,每分钟向监控中心发送一次数据

Dubbo具有如下特点

1.连通性
消费者通过服务列表远程调用服务,调用过程不必经过注册中心,注册中心压力较小
当注册中心宕机时,消费者仍可通过本地缓存调用服务
注册中心通过长连接感知服务提供者的存在,服务提供者宕机,注册中心立即将事件通知到消费者
2.健壮性
负载均衡
容错机制
服务提供者全部宕掉后,服务消费者将无法使用,并无限次重连等待服务提供者恢复
3.伸缩性
注册中心对等集群,可动态增加机器部署实例,所有客户端将自动发现新的注册中心
服务提供者无状态,可动态增加机器部署实例,注册中心将推送新的服务提供者信息给消费者

负载均衡方式 loadbalance

1.随机访问:默认的负载均衡机制,对集群中服务节点进行随机访问
2.轮询访问:按照顺序轮询访问,可能带来访问积压的情景
3.一致性hash:相同参数访问同一个服务节点
4.最少活跃调用数,响应慢的服务节点最少访问:(调用时计数,调用成功返回时计数减一,下一个服务调用时选择计数少的,因为计数少说明返回多,响应快)

容错机制 cluster

1.failover:发生错误时切换重试,默认两次 默认的容错机制 适合读的场景
2.failfast:发生错误时报异常,适用于非幂等的写请求
3.failsafe:发生错误时忽略,适用于记录审计日志等操作
4.failback:发生错误时记录异常,并相隔一定时间再次重试,适用于消息通知
5.forking:并行调用多个服务器(可设置,默认2),一个响应成功即返回,适用于要求实时性比较高的场景,缺点是会带来额外开销
6.broadcast:访问所有节点,如果有失败则报错,用于通知服务方更新缓存或日志等本地资源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hongmin.shm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值