2019/32周总结


这一周的累指数 5/10
这一周的高兴指数 6/10
这一周的学习指数 6/10

1. 短期周计划

  1. 短期计划是关于 nacos 的 config 和 naming 源码研究大概能懂内部的实现,不包括 distro 和 raft,这两种协议暂时还不是很懂它们的细节
  2. ES 学习一直在进行,最近在学习高级索引操作,不过自己最近一直没实际的操作,因为工作基本没有基础到 ES 相关的了
  3. 每天上下班地铁一个半小时,节奏还可以,基本是看看视频和一些笔记,以及英语的听力最近也坚持了一周了,希望能拿到最后的奖励(一共60天,要求至少55天打卡)

2. 长期月计划

  1. 按照滑动窗口的概念,最近一个月,也就是07.11~08.11之间,我基本是一半在复习面试,一半是在新公司做些熟悉新框架,最多的应该是对 nacos 的了解吧,其实想着,下周看看 sentinel,毕竟最近两周基本看了也熟悉了 nacos 的 config 以及 naming 相关,当然深入还没有,毕竟核心的那是需要一定的时间和实际场景经验才了解的。准备花两周熟悉下 sentinel 这样限流的中间件,之前了解的只有令牌桶这样,知识广度不够。

3. 技术

  1. 技术上就是了解 nacos raft 和 distro 协议的实现。
  2. raft 协议的实现:一些修改操作都是给 leader 执行,进行 https 异步,但是使用了 countdownlatch 超时 5s 报错。
  3. distro 是节点间广播,操作可以给每个节点执行,然后同步,理论上会有节点不一致的情况,但是保证了可用性,标准的 AP模型。
  4. 还有 nacos 的心跳和选举异步 leader 发送给其它节点,以及选票日志存储这些,任何的操作同步时,都判断选票是否比自己小,来保证操作的顺序性(顺序一致性?)。

4. 总结

  1. 研究源码才发现,很多平时的一些书上说的并发类、一致性协议等,虽然自己没有机会去实际操作,但是开源项目里面运用了很多!