1.学习了zookeeper相关知识点:
1.简述一下zookeeper?
--(zk的作用)zookeeper可以为分布式应用提供高效可靠的分布式协调服务。它的实现依赖于ZAB协议,通过使用主备模式的架构来保证数据一致性。
--(zk的组成)zk集群中包含三种角色:Leader、Follower、Observer。其中,leader是通过选举机制确定的一台机器,可以为服务器提供读写请求。Follower参与投票、可以处理服务器的读请求、并将服务端发给它的写请求转发给leader。observer同样是处理读请求的,唯一与follower不同的是,它不参与选举机制,也不参与过半成功策略,因此observer可以在不影响集群写性能的同时提供读的性能。
zk的节点有三种:临时、持久、顺序节点。最重要的功能是watcher功能。
--(zk的性能)由于zk集群中只有一个leader,所以它的写性能较低而读性能较高,横向拓展也只是提高了读的效率,故zk更适用于读请求较多的场景。
2.ZAB协议
--崩溃恢复(重点是选举和同步)
--消息广播
3.fastleaderelection算法(zk的leader选举,不同于ZAB中的选举)
--选自身
--pk外部选票
--归纳
4.2pc和paxos算法
--2pc:协调者
--paxos:proposal、acceptor、leaner
5.当zk作为Dubbo的注册中心是怎样工作的
--每个都是临时节点,建立watcher,挂掉了就告知其他人。
复习了几个排序算法
1.冒泡排序:每轮冒出最大的值排在最后
2.插入排序:未排序区间的第一个值分别于已排序区间中的逐一比较
3.选择排序:每轮从未排序区间找出最小的与已排序区间的最后一个值交换
4.快速排序:分出 比分区点小的、分区点、比分区点大的,再递归分