• jeffery
    2021-01-20
    1.6版本默认自带v3版本,etcd 云原生的数据首选存储产品,老师能说下etcd 和reids 的区别吗?谢谢

    作者回复: Redis是吧,区别挺大的,文章中我用了一副思维导图从数据复制、数据分片、存储引擎、API等方面总结etcd v2技术点,我简单从这些方面给你对比一下,数据复制上Redis是主备异步复制、etcd使用的是Raft,前者可能会丢数据,为了保证读写一致性,etcd读写性能相比Redis差距比较大。数据分片上Redis有各种集群版解决方案,可以承载上T数据,存储的一般是用户数据,而etcd定位是个低容量的关键元数据存储,db大小一般不超过8g。存储引擎和API上Redis内存实现了各种丰富数据结构,而etcd仅是kv API, 使用的是持久化存储boltdb。

    共 4 条评论
    55
  • [小狗]
    2021-02-04
    大佬,可以1周4期吗? 等着面试用呢

    作者回复: 感谢对专栏的支持,正如你所看到的,专栏27讲,每讲内容特别丰富,大部分5000到6000字,整个专栏至少15万字,写作不易,我也是在工作日的凌晨、周末业余时间为大家呈现一个etcd全方位特性解读,更新是固定的1周3篇,春节都在加班加点创作了,麻烦稍等哈,基础篇春节期间会更新完毕,你把基础篇的内容踏踏实实学完,动手做几个小实验,我相信面试哪个大厂,都无压力了哈。

    共 4 条评论
    25
  • hxy
    2021-01-23
    zookeeper的rpc api是thrift,这个感觉说错了吧,zk用的应该是jute

    作者回复: 感谢你的细心和反馈,我查阅etcd官方资料写得也是的确有误,之前以为是很久之前zk使用的rpc api,看了下commit记录貌似一直都是juite,后面我们修正下,谢谢

    
    21
  • NICE
    2021-01-21
    目前在使用etcd v3, 高可用,强一致性键值存储。关于etcd集群异地容灾同步目前用的make mirror,有更好的方案吗? 哈哈😃

    作者回复: 也有可能在部分场景出现不一致哈,后面实践篇会和大家分析。异地容灾建议使用raft learner特性,添加learner节点,make mirror是基于watch机制的,稳定性、可靠性等相比learner要差点,但是目前社区对learner限制太多,不支持快照等,我们自己做了定制化,大家使用上要等等,估计3.5版本才比较好用

    共 3 条评论
    10
  • mckee
    2021-01-26
    k8s list pod不带rev情况下,etcdserver key range会造成cpu和mem瞬间飙高,需要读取所有kv并排序

    作者回复: 嗯,list pod太恐怖了,哈哈,线上大部分异常一般都是list pod,configmap,crd

    共 2 条评论
    7
  • SecKiki
    2021-01-20
    学习了,etcd与k8s 绝配

    作者回复: 嗯,etcd与k8s相互影响、促进,etcd社区任何核心特性首先也是考虑是否有益于k8s场景等,新版本发布,也是拿k8s做性能稳定性测试

    
    4
  • 范闲
    2021-01-22
    etcd用来做服务发现,治理,分布式锁,还有配置信息存储很好用。 缺点是异地多活不好用,延迟有点大。

    作者回复: 是的,我们使用raft learner节点,跨城容灾,进行了一些定制化改造

    
    2
  • GAC·DU
    2021-01-21
    读了两遍还是感觉很吃力,需要去恶补一下不懂的知识。有个疑问想让老师解惑一下,etcdV1和V2版本并没有ZK社区成熟功能也没有ZK强大,为什么K8S选择了和etcd一起成长,而不是等着etcd各方面完善和强大起来再从ZK切换到etcd?

    作者回复: 我认为最主要的是还是Go语言和容器生态,zookeeper当时也没好用的go client库,watch特性也没etcd好用,核心还是文中说得,当时没一个项目满足k8s需求,只有coreos团队不停的推动etcd与k8s相互适配改造,维护k8s etcd代码,让k8s核心开发者有更多精力去开发更重要的特性开发。

    
    2
  • 爪哇夜未眠
    2021-01-20
    挺好的文章

    作者回复: 感谢你的留言与支持

    
    2
  • saltedfish
    2022-04-24
    爽啊,这种从诞生背景顺着发展路线讲下来的思路能让人真正理解为什么现在的etcd是这个样子的,感谢作者!

    作者回复: 嗯,感谢支持,想深入了解更多的,可以翻一番早期etcd/kubernetes issue/pr

    
    1