-
Notifications
You must be signed in to change notification settings - Fork 135
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
项目代码理解问题 #70
Comments
Message that will be displayed on users' first issue |
1初始化为什么要上锁 保护的是什么变 |
1、是Raft::init这块 就是感觉raft刚刚初始化,还没有创建成功 会涉及到并发情况的影响吗 |
9、日志一定是被应用完之后才能被快照吗 ,跟随者接收领导者快照那里,是不是发现自己当前的日志比领导者的快照大,就把自己多的部分清除,和领导者的快照保持一致吗,是什么情况导致跟随者的日志比领导者的快照都大。 applyChan->Push(msg); |
1.我是习惯了可能并发就加锁了,当时写的时候主要侧重逻辑实现。此外,如果么有并发,由于有快速用户锁的原因,不太会影响性能。 |
基于protobuf和自定义协议实现RPC通信框架MprRpc通信框架完成各节点之间的远程调用和数据传递功能,设计rpc这块感觉好难看懂,面试的话如果问起如何实现的自定义实现rpc框架该怎么回答,可以大致说一下吗?还有就是多个raft节点之间如何进行通信那块也有点没看懂,也可以大致说一下吗,万分感谢 |
这块的话就建议看一下c++ rpc的内容了哈,大家设计的都差不多,一两句说不清楚,而且我这个是同步的还不是异步的,异步的更加复杂。 |
初始化为什么要上锁 保护的是什么变
竞选的时候follower发现自己的term比candidate小,然后更新自己的term就不投票了吗?还是一会再投?
选举的时候为什么也要加锁 保护的是什么变量
持久化里面为什么要将快照持久化 将快照持久化有什么用
持久化为什么要先转化成字符串类型再进行序列化,为什么不直接序列化
日志同步的时候为什么要考虑到快照,为什么不直接讨论prevlogindex() 和 getLastLogIndex()的三种情况
为什么不讨论args->prevlogindex() < getLastLogIndex()这种情况
The text was updated successfully, but these errors were encountered: