@Reference 远程注入 RPC
1再zookeeper回去服务的url
2进行远程调用RPC
2将结果封装成对象,给变量赋值
dubbo–admin管理平台(页面化)
服务查询 ,治理 ,路由, 负载均衡等
服务查询:测试 ,权重 ,服务信息
超时和重试:timeout配置在服务@service 默认超时1秒(建议) 或者客户@Reference
当超时后重试retries默认2秒,配置在服务@service
多版本:调用同一个接口的不同版本 服务@service 配置version, 客户@Reference配置version
灰度发版
负载均衡:权重随机(默认100),@service 配置weight; 客户@Reference配置Lodown
权重轮询 ,最少活跃调用,一致hash(相同请求分配)
集群容错:failover失败重试(默认)(一般读操作);重试2次
failfast快速失败 一次 (一般写操作)
failsafe失败安全 失败异常返回空 一般日志
failback失败重试 定时重发
forking 并行调用多个服务 有一个成功就可以
broadcast 广播调用所有 有一个失败就失败
服务降级:mock=force:return+null
表示消费方对该服务的方法调用都直接返回 null 值 mock=fail:return+null
表示消费方对该服务的方法调用在失败后,再返回 null 值,不抛异常。用来容忍不重要服务不稳定时对调用方的影响
zookeeper集群中的三种角色Leader、Follower和observer
Leader
1、发起与提交写请求。
所有的跟随者Follower与观察者Observer节点的写请求都会转交给领导者Leader执行。Leader接受到一个写请求后,首先会发送给所有的Follower,统计Follower写入成功的数量。当有超过半数的Follower写入成功后,Leader就会认为这个写请求提交成功,通知所有的Follower commit这个写操作,保证事后哪怕是集群崩溃恢复或者重启,这个写操作也不会丢失。
2、与learner保持心跳
3、崩溃恢复时负责恢复数据以及同步数据到Learner
Follower
1、与老大Leader保持心跳连接
2、当Leader挂了的时候,经过投票后成为新的leader。leader的重新选举是由老二Follower们内部投票决定的。
3、向leader发送消息与请求
4、处理leader发来的消息与请求
observer(观察者)
1、与leader同步数据
2、不参与leader选举,没有投票权。也不参与写操作的提议过程。
3、数据没有事务化到硬盘。即Observer只会把数据加载到内存。
原文地址:https://blog.csdn.net/weixin_38822255/article/details/134659045
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_21702.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!