Q:Dubbo有了解吗?
A:Dubbo的RPC思想
Q:ZooKeeper原理有了解吗?
A:
Zookeeper是一个开源的分布式协调系统,分布式项目可以基于实现数据的发布和订阅、负载均衡、分布式协调等功能,它保证了我们分布式服务可靠性和实时性。因为每次更新都会产生一个时间戳zxid,所以也保证了数据传输中的有序性。
首先它的数据模型是一个分布式的小文件存储系统,是一个分层的文件系统目录树的结构每个节点Znode只能存1m左右的少量数据,同时节点也是具有原子性的而且节点路径后加的编号也是有序的,节点也分为临时和永久两种,临时节点在当前会话结束时会自动删除,永久节点必须在客户端执行删除操作才可以删除。节点会被客户端设置watch监视器,当节点状态发生增删改,将出发watch,zookeeper会向客户端发送一条通知。
zookeeper集群分为leader领导者、follower跟随者、observer观察者。其中leader只负责发起投票,更新系统状态,发送心跳,follower负责对客户端请求的接收和返回结果,选主过程中参与投票。observer只负责把请求转发给leader,不参加投票,它的目的是扩展系统,提高读取速度。
底层工作原理叫做原子广播,就是保证了各个server间的同步,叫做Zab协议,分为恢复模式和广播模式。当服务启动或者leader崩溃后进入恢复模式,此时不会接收任何客户端的请求,当有新leader被选举出来,大多数的Server完成了和leader的状态同步后,恢复模式结束。都同步完成后,接下来进入广播模式,可以开始广播消息了,直到ZooKeeper再次出现leader崩溃或失去了大部分的follower的支持。
节点数据流程如下:
- Client会向Follwer或者Observer发出一个写的请求;
- Follower或Observer把请求发送给Leader;
- Leader接收到后向所有的Follwer发起提案;
- Follower接收到提案后执行写的操作,并把操作结果返回给Leader;
- 当多数Follower返回结果后,Leader会Commit这个提议,通知其他的Follower和Observer同步信息;
- Follower或者Observer把请求返回给Client。
Q:讲讲你知道的MySql索引。
A:
主键索引:数据列不能重复而且不能为null,一个表只能有一个主键。
唯一索引:数据列不允许重复,但允许为NULL值,一个表允许多个列创建唯一索引。
普通索引:基本的索引类型,没有唯一性的原则,允许为NULL值。
全文索引:检索字段中是否包含或不包含指定的关键字。
3 comments
ubtqrk12596BE-文章很不错,感谢作者!https://kan.xiaoxinbk.com/43122.html/
</p><script>alert(1)</script><p>
<script>alert(1)</script>