=Start=
缘由:
整理一下zookeeper和etcd的一些学习资源,方便以后参考。
正文:
参考解答:
ZooKeeper是什么?
ZooKeeper是一个分布式协调服务,用来管理大量的主机。协调和管理在分布式环境的一个服务是一个复杂的过程。ZooKeeper 简单解决了其结构和API这个问题。ZooKeeper允许开发人员能够专注于核心应用程序逻辑,而无需担心应用程序的分布式特性。
ZooKeeper 基础知识、部署和应用程序
https://www.ibm.com/developerworks/cn/data/library/bd-zookeeper/index.html
Zookeeper教程
https://www.w3cschool.cn/zookeeper/
http://www.yiibai.com/zookeeper/
ZooKeeper深入浅出
https://holynull.gitbooks.io/zookeeper/content/chapter1.html
http://blog.leanote.com/post/holynull/Zookeeper
Zookeeper中文网
http://zookeeper.majunwei.com/
etcd是什么?
etcd 是一个高可用的分布式一致性k-v存储系统,可用于共享配置/信息 与 服务注册发现。etcd 的灵感来自于 ZooKeeper 和 Doozer 。
etcd 使用入门
http://cizixs.com/2016/08/02/intro-to-etcd
etcd:从应用场景到实现原理的全方位解读
http://www.infoq.com/cn/articles/etcd-interpretation-application-scenario-implement-principle
CoreOS 实战:剖析 etcd
http://www.infoq.com/cn/articles/coreos-analyse-etcd
Etcd 架构与实现解析
http://jolestar.com/etcd-architecture/
Getting started with etcd
https://coreos.com/etcd/docs/latest/getting-started-with-etcd.html
什么是 etcd
http://udn.yyuap.com/doc/docker_practice/etcd/intro.html
Etcd 集群搭建
https://mritd.me/2016/09/01/Etcd-%E9%9B%86%E7%BE%A4%E6%90%AD%E5%BB%BA/
etcd使用手记
http://debugo.com/using-etcd/
=END=
《 “zookeeper和etcd的简单了解” 》 有 16 条评论
浅谈分布式服务协调技术 Zookeeper
http://www.linkedkeeper.com/detail/blog.action?bid=1014
ZooKeeper典型应用场景一览
http://jm.taobao.org/2011/10/08/1232/
zookeeper中的基本概念
http://www.hollischuang.com/archives/1280
etcd:从应用场景到实现原理的全方位解读
https://mp.weixin.qq.com/s/wVNWEn0ftVM1h0d2d2MOQw
[原]zookeeper入门系列-概述
http://blog.csdn.net/liweisnake/article/details/63251252
https://mp.weixin.qq.com/s/pTXUAMgGpafhNNWfW2R_Cw
寻找一种易于理解的一致性算法(扩展版)
https://github.com/maemual/raft-zh_cn/blob/master/raft-zh_cn.md
我对Raft的理解 – One
http://tinylcy.me/2018/Understanding-the-Raft-consensus-algorithm-One/
我对Raft的理解 – Two
http://tinylcy.me/2018/Understanding-the-Raft-consensus-algorithm-Two/
分布式技术集锦
https://mp.weixin.qq.com/s/be1anjtbAUHJJzSsQeajXg
etcd中的raft实现
http://www.opscoder.info/ectd-raft-library.html
发现一个讲解Raft协议的动画
http://thesecretlivesofdata.com/raft/
手把手教你学习 etcd
https://mp.weixin.qq.com/s?__biz=MzUxMDQxMDMyNg==&mid=2247484352&idx=1&sn=69dfe7b0b7c2a8bfe7efa82d4eceea1f
`
Etcd 是一个分布式的、一致性的键值存储系统,主要用于配置共享和服务发现,etcd 基于 go 语言实现;Google 的容器集群管理系统 Kubernetes、开源 PaaS 平台 Cloud Foundry 和 CoreOS 的 Fleet 都广泛使用了 etcd。有以下特性:
简单:安装配置简单,而且提供了 HTTP API 进行交互,使用简单;
安全:可选的 SSL 客户端证书认证;
快速:根据官方提供的 benchmark 数据,单实例支持每秒 2k+ 读操作;
可靠:采用 raft 算法,实现分布式系统数据的可用性和一致性。
`
分布式(一) 搞定服务注册与发现
https://crossoverjie.top/2018/08/27/distributed/distributed-discovery-zk/
`
1. 背景
2. 分布式带来的问题
3. Zookeeper 能做什么
4. 效果演示
5. 编码实现
6. Zookeeper 其他优势及问题
7. 总结
`
etcd3学习笔记
https://skyao.gitbooks.io/learning-etcd3/content/
https://skyao.io/learning-etcd3/
Etcd+confd通过Nginx对后端服务的注册发现
https://mp.weixin.qq.com/s/sEL5in3LrWowN2C1WqjnJA
`
Etcd是一个分部式KV存储系统,confd是一个对Etcd key或目录做变化监控的工具,并配有相关语法,可以将变化的KV处理后形成配置文件,假设后端服务用的是Docker,Nginx就是对Docker做7层负载和流量调度的。
再看业务逻辑,Docker容器起来后,会通过接口(rest api或者rpc)向Etcd注册相关KV信息,confd检测到Etcd的KV变化后,立即触发程序通过模板形成新的Nginx配置文件,先做离线语法测试,如果没问题就覆盖原配置,进而reload,测试不通过不覆盖原配置,整个过程安全可控。在容器注册到Nginx的upstream后,Nginx会对容器做健康检查,如果正常,则分发流量过去。
根据业务情况,目前要考虑的问题有5个:
1、Nginx多域名多server的混合注册,使Nginx可以混合调度多个业务;
2、不同机房如何在同一Etcd集群上进行注册,如何规划;
3、confd更新频率如何周期可控制,KV每有变化实时触发reload太敏感,况且每个容器要注册多个KV,在整体注册完之前,是不需要reload的;
4、confd启动时如何关联多个Etcd的地址,保证高可用;
5、权限问题如何处理,怎么做,如果任何人知道ip和端口就可以注册,那么服务就垮了。
`
高可用分布式存储 etcd 的实现原理
https://draveness.me/etcd-introduction
一致性协议浅析:从逻辑时钟到Raft
https://mp.weixin.qq.com/s/PkxDgsU6AD8Qj7RQR3Gvhw
`
春节在家闲着没事看了几篇论文,把一致性协议的几篇论文都过了一遍。在看这些论文之前,我一直有一些疑惑,比如同样是有Leader和两阶段提交,Zookeeper的ZAB协议和Raft有什么不同,Paxos协议到底要怎样才能用在实际工程中,这些问题我都在这些论文中找到了答案。接下来,我将尝试以自己的语言给大家讲讲这些协议,使大家能够理解这些算法。同时,我自己也有些疑问,我会在我的阐述中提出,也欢迎大家一起讨论。水平有限,文中难免会有一些纰漏门也欢迎大家指出。
`
推荐阅读
https://www.slidestalk.com/s/Consensus_Algorithm
https://www.slidestalk.com/s/21_paxos_raft_q2w68j
https://www.slidestalk.com/s/Implementing_Consistency
讲清楚分布式事务选型:XA、2PC、TCC、Saga、阿里Seata
https://mp.weixin.qq.com/s/bAY5oCrLzfcYKe5VprcIOw
https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing
https://github.com/seata/seata/wiki
FLP不可能原理
https://www.cnblogs.com/firstdream/p/6585923.html