本书未发布
zookeeper
概念:#
CAP:
- C:一致性
- A:可用性
- P:分区容错性
- CAP 只能保证两个特性,P 是一定要保证的,另外一个在 C 和 A 之间选择。
- 怎么选择呢?
BASE:
强一致性:
弱一致性:
2PC 与 3PC:
Paxos 算法:
从集中计算机处理到分布式计算机处理问题的解决方案。
从单点问题到多点问题的分布式解决方案。
各种理论和实践就是提出一个理论解决某个问题后又提出另外一个理论解决新带来的问题的过程。
命令#
应用场景#
- 发布 / 订阅
- 负载均衡
- 命名服务:集群全局唯一 ID
- 分布式协调 / 通知
- MySQL 数据复制总线
- 任务注册
- 任务热备份 / 冷备份
- 心跳检测 / 工作进度汇报 / 系统调用
- 集群管理
- Master 选举
- 分布式锁
- 分布式队列
发布 / 订阅#
- 数据量通常比较小
- 数据内容在运行时会发生动态变化
- 集群中各机器共享,配置一致
其他实现方式:
- 配置文件存储在内存
- 写文件然后加载文件到内存
- Kafak,RabbitMQ,Redis,Golang Channel 实现
动态 DNS 服务#
自动化 DNS 服务#
- Register 集群负责域名的动态服务
- Dispatcher 集群负责域名解析
- Scanner 集群负责检测以及维护服务状态(探测服务的可用性 / 屏蔽异常服务节点等)
- SDK 提供各种语言的系统接入协议,提供服务注册以及查询接口
- Monitor 负责收集服务信息以及对 DDNS 自身状态的监控
- Controller 是一个后台管理的 Console,负责授权管理 / 流量控制 / 静态配置服务和手动屏蔽服务等,另外,系统和运维人员也可以在上面管理 Register/Dispatch 和 Scanner 等集群。