Junedayday Blog

六月天天的个人博客

0%

在上一讲,我们梳理了EtcdServer的关键函数processInternalRaftRequestOnce里的四个细节。

其中,wait.Wait组件使用里,我们还遗留了一个细节实现,也就是请求的处理结果是怎么通过channel返回的。

1
2
3
4
5
6
7
8
9
10
11
select {
// 正常消息的返回,也就是我们本章要研究的
case x := <-ch:
return x.(*applyResult), nil
case <-cctx.Done():
proposalsFailed.Inc()
s.w.Trigger(id, nil)
return nil, s.parseProposeCtxErr(cctx.Err(), start)
case <-s.done:
return nil, ErrStopped
}
阅读全文 »

概览

晋升是每个技术人都应该经历的一次洗礼。一般来说,分为提名、准备、述职、答辩这四个步骤。

尽管每个人的经历与体会都有不同,很难照搬硬套,但我相信只要是真心分享的经验,总会对人有帮助。接下来,我将从五个点展开。

阅读全文 »