V2EX erenno1 的所有回复 第 1 页 / 共 14 页
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX    erenno1    全部回复第 1 页 / 共 14 页
回复总数  275
1  2  3  4  5  6  7  8  9  10 ... 14  
2021-04-08 09:55:21 +08:00
回复了 erenno1 创建的主题 酷工作 [滴滴出行] 高级/资深 C++ 研发工程师
@ruokw 团队技术栈比较丰富,如果会多种语言的话 scope 会广一些
2020-11-11 18:58:34 +08:00
回复了 2won4u123 创建的主题 职场话题 简历要怎么写才可以收到面试邀请?
2020-11-11 17:57:53 +08:00
回复了 2won4u123 创建的主题 职场话题 简历要怎么写才可以收到面试邀请?
t/722351#reply5 甩个简历给我看下吧
2020-11-06 17:21:56 +08:00
回复了 erenno1 创建的主题 酷工作 [滴滴出行] 急招 Java 服务端开发
@aliensb 北京
2020-11-06 17:21:47 +08:00
回复了 erenno1 创建的主题 酷工作 [滴滴出行] 急招 Java 服务端开发
@xiebiao 确实是 ctr+v 的
erenno1 # foxmail 我给你推推看。
2020-05-07 15:14:16 +08:00
回复了 erenno1 创建的主题 酷工作 [北京][滴滴] 集团级业务中台内推
持续招聘中,欢迎骚扰
这边都是 golang 职位,可以过来试试 t/667067#reply0
2018-07-20 13:38:55 +08:00
回复了 1ku 创建的主题 问与答 就想做个收入的投票
语言和去向竟然不是多选
2017-05-06 00:29:10 +08:00
回复了 duduscript 创建的主题 程序员 有没有在刷 MIT 6.824 分布式系统 的朋友?
@duduscript 不客气,你有新的见解也希望分享一下,共同学习
2017-05-06 00:02:21 +08:00
回复了 duduscript 创建的主题 程序员 有没有在刷 MIT 6.824 分布式系统 的朋友?
@duduscript
稳定 leader 没有并发写的情况是这样的,但是并发写的时候就不一定小 1 了
2017-05-05 22:16:27 +08:00
回复了 duduscript 创建的主题 程序员 有没有在刷 MIT 6.824 分布式系统 的朋友?
“对应的 index 是 10 ” 是假设 index 是 10
7 也是假设,即假设 leader 的 current term 是 7,所以 S1 也是 7,起同步的日志的 term 也一定是 7
2017-05-05 22:14:45 +08:00
回复了 duduscript 创建的主题 程序员 有没有在刷 MIT 6.824 分布式系统 的朋友?
@duduscript

2 这样理解是不对的,假设当前一个 replica 为 S1 是 folower,其 current term 是 7, 假设当前的 leader 向 S1 成功同步日志,leader 的 current term 也是 7,所以 S1 的 last log entry 里的 term 一定是 7,对应的 index 是 10

之后 leader 挂了,S1 变成 candidate,current term + 1 为 8,这时发送 requestVote 的时候,需要告诉投票人当前的 current term 是 8 (即参数 term ),同时告诉对方 LastLogTerm 是 7,lastLogIndex 就是 10 ;

至于 lastlogterm lastlogindex 的作用就是为了所谓 LogUpToDate 了
2017-05-05 22:07:58 +08:00
回复了 duduscript 创建的主题 程序员 有没有在刷 MIT 6.824 分布式系统 的朋友?
@duduscript
刚下班路上想了下问题 1,我先再补充一下 1 吧。 如果将 commitIndex 和 lastApplied 合二为一的话,新的达成一致的 log entry 可能会需要阻塞等待前一个 log entry apply 结束(落盘)然后才能记录下来该 entry 已经达成一致了(即总数过半已经同步)才能响应客户端请求,而且等待的时候如果发生宕机之类的事情,会导致该 entry 的状态不明确,虽然日志不会丢失,但是需要后续 client 重试来确认该 entry 是提交。 毕竟 raft 是给出明确的实现方案的一致性算法,这里的 commitIndex 不是必须的,但是是一种高质量的优化。nextindex 也是一种优化;

以上是我的理解,供参考
2017-05-05 20:03:45 +08:00
回复了 duduscript 创建的主题 程序员 有没有在刷 MIT 6.824 分布式系统 的朋友?
@duduscript
针对 2 补充一下:LogUpToDate 的意义是用以保证选出的 leader 肯定持有已经 commit 的 log entry,否则 failover 就丢数据了
2017-05-05 20:01:53 +08:00
回复了 duduscript 创建的主题 程序员 有没有在刷 MIT 6.824 分布式系统 的朋友?
@duduscript
再多读几遍,打日志调试调试就理解了
2017-05-05 20:01:23 +08:00
回复了 duduscript 创建的主题 程序员 有没有在刷 MIT 6.824 分布式系统 的朋友?
@duduscript
1. commitIndex 只是代表这个 index 已经被总数过半确认了,并不代表着写入 state machine,工程实现上 apply 可以批量完成,不用太纠结在这里
2. lastLogTerm 就是当前 replica 的日志中最后一个 entry 的 term,这个 term 小于等于 replica 的 current_term ;以保证选出的 leader 肯定持有已经 commit 的 log entry
3. 很明显去掉等于也是可以的,但是等于的意义在于可以让投票尽快完成(不浪费投票权);为什么这么说呢? 因为票是否投出是由 term + votefor 一起决定的,term 的增长有两种方式,一种是自己加 1 变成 candidate 去选举,此时 votefor 等于自己,意味着自己先投自己一票;另一种情况是 term 通过接收心跳( AppendEntries )和投票请求( RequestVote )发现了比自己 term 更大的 term 而发生的增长,要知道收到了 RequestVote,即要满足 term >= currentTerm 同时又要满足 LogUpToDate 才会真正投赞成票,更新 voteFor ;试想如果只是 term>currentTerm, logUpToDate 不满足,那就意味着只更新了自己的 term,后续针对这个 term 是依然有投票权的,因为 voteFor 没有更改;


3 的不理解是因为你还没有理解 2 ( LogUpToDate )的意义。
2017-05-05 17:09:56 +08:00
回复了 duduscript 创建的主题 程序员 有没有在刷 MIT 6.824 分布式系统 的朋友?
@duduscript
可以说出来听听。

我的经验是很多问题多读几遍论文。
多读几遍他们写的 advice https://thesquareplanet.com/blog/students-guide-to-raft/ 基本就清楚了。
另外就是并发的问题仔细想清楚。
2017-05-05 10:36:58 +08:00
回复了 duduscript 创建的主题 程序员 有没有在刷 MIT 6.824 分布式系统 的朋友?
之前完成到 Lab3A 了,感觉还是很过瘾的
2017-04-27 23:41:11 +08:00
回复了 daezh 创建的主题 职场话题 Offer 比较:网易有道 vs 360 vs 百度
360 这个部门好像是胡宁的部门吧。上海?
1  2  3  4  5  6  7  8  9  10 ... 14  
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3663 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 22ms UTC 10:32 PVG 18:32 LAX 03:32 JFK 06:32
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86