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 创建的主题 职场话题 简历要怎么写才可以收到面试邀请?
https://www.v2ex.com/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 的
2020-09-27 13:42:06 +08:00
回复了 callmedachang 创建的主题 职场话题 滴滴杭州 base 的老哥们可以帮小弟内推下吗?感激
erenno1 # foxmail 我给你推推看。
2020-05-07 15:14:16 +08:00
回复了 erenno1 创建的主题 酷工作 [北京][滴滴] 集团级业务中台内推
持续招聘中,欢迎骚扰
这边都是 golang 职位,可以过来试试 https://www.v2ex.com/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   ·   我们的愿景   ·   实用小工具   ·   3181 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 25ms · UTC 14:46 · PVG 22:46 · LAX 07:46 · JFK 10:46
Developed with CodeLauncher
♥ Do have faith in what you're doing.