1> Dubbo简介及以Zookeeper为注册中心
Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。
- 透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入
- 软负载均衡及容错机制,可在内网替代F5等硬件负载均衡器,降低成本,减少单点。
- 服务自动注册与发现,不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的IP地址,并且能够平滑添加或删除服务提供者
Dubbo就是资源调度和治理中心的管理工具
2> Zookeeper的leader选举过程
3> 2PC and 3PC
4> 简述Zookeeper。。。watcher
5> 简介ZAB
ZAB协议是为Zookeeper专门设计的一种支持崩溃恢复的消息广播协议。ZAB协议只允许有一个主进程接受客户事务请求并处理,即leader。当leader收到请求后,将请求事务转化为事务proposal,由于leader会为每一个follower创建一个队列,将该事务放入响应队列,保证事务的顺序性。之后会在队列中顺序向其他节点广播该提案,follower收到后会将其以事务的形式写入到本地日志中,并向leader发送反馈ack确认。leader会等待其他followe的回复,当收到一半以上的follower响应时,leader会向其他节点发送commit消息,同时提交该提案。
ZAB有两种模式,分别为故障恢复模式以及消息广播。当系统启动或者leader服务器出现故障等现象时,进入故障恢复模式。将会开启新的一轮选举,选举产生的leader会与过半的follower进行同步,使数据一致。
当同步结束后,退出恢复模式,进入消息广播模式。当一台遵从ZAB协议的服务器启动后,如果检测到有leader在广播消息,会自动进入恢复模式,当其完成与leader的同步之后,进入消息广播模式;如果集群中的非leader节点收到客户端请求,非leader节点会先将请求发送到leader服务器。
故障恢复发时候,ZAB协议两个需要保证的地方,第一就是ZAB协议需要保证已经被leader提交的事务最终被所有的机器提交;第二就是需要保证丢弃那些只在leader上提交的事务。为了保证以上两点,选举时如果选择ZXID最大的节点可以解决上述问题。
leader重新选举的条件是当leader宕机或发生故障,集群中少于一半的节点与当前leader保持连接。
6> 简述paxos算法
7> Zookeeper如何保证数据的一致性?
1)顺序一致性
来自客户端的更新将严格按照客户端发送的顺序处理;
2)原子性
更新或者成功或者失败,不存在部分成功或者部分失败的场景;
3)单一视图
无论客户端连接到哪个服务器,看到的都是一样的视图;
4)可靠性
一旦一个更新生效,它将一直保留,直到再次更新;
5)实时性
在特定的一段时间内,任何系统的改变都能被客户端看到,或者被监听到。
8> 叙述ZAB集群数据同步的过程
第一阶段(准leader 生成初始化事务集合)
所有follower 向leader 发送自己最后接收的事务的epoch;
leader 选取最大的epoch,加1得到e1,将e1 发送给follower;
follower 收到leader 发送的epoch 值之后,与自己的epoch 值作比较,若小于,则将自己的epoch 更新为e1,并向准leader 发送反馈ACK信息(epoch 信息、历史事务集合);
leader 接收到ACK 消息之后,会在所有历史事务集合中选择其中一个历史事务集合作为初始化事务集合,该事务集合满足ZXID最大;
第二阶段(数据同步)
leader 将epoch 与 初始化事务集合发送给集群中过半的follower;每个follower 会分配到一个队列,leader 会将那些没有被各个follower 同步的事务以proposal 形式发送给各个follower,并在后面追加commit 消息,表示事务已被提交;
follower 接收后,会执行初始化事务集合中的事务(执行过跳过,未执行执行),反馈给leader 表明自己已经处理
leader 收到后过半反馈后,发送commit 消息
follower 接收到commit 消息后,提交事
9> Zookeeper中的ACL
11> Zookeeper在yarn框架中如何实现避免脑裂的?
12.使用Redis开发分布式锁和使用Zookeeper开发分布式锁的区别是什么?
- Redis setnx 开发分布式锁,无法保证线程顺序,有可能让某些线程 一直处于等待状态(自己动手实现)
- Zookeeper 开发分布式锁,主要借助Zookeeper的临时顺序节点(可以使用Curator-framework实现)
来源:CSDN
作者:明月清风,良宵美酒
链接:https://blog.csdn.net/qq_40822132/article/details/103746562