Zookeeper使用场景-读书笔记6

数据发布和订阅(配置中心)

推(服务器推送Watcher事件通知)拉(客户端收到通知后获取最新的节点数据)结合的设计模式。通常在配置中心配置

分布式协调/通知

负载均衡

利用多台计算机资源分配负载,以达到优化资源使用、最大化吞吐率、最小化响应时间和避免过载的目的。

分为硬负载和软负载(Zookeeper)

动态的域名系统DDNS(Domain Name System)

首先域名注册,服务提供者将域名发送给Register集群,Register将域名写入到Zookeeper节点;

然后,域名解析,服务消费者向Dispatcher发出域名解析请求,Dispatcher从Zookeeper读取域名列表,根据一定策略选取其中一个给服务消费者;

域名探测:每个服务提供者都会定时向Scanner进行状态汇报,一旦Scanner超过5秒未接受到状态汇报,则会在Zookeeper中清除域名

命名服务

通过创建Zookeeper顺序节点,产生全局唯一ID(节点全路径名)的节点

Master选举

Zookeeper服务器同时创建同一个节点,创建成功的为Master,失败的为Slave,Slave在此节点上注册Watcher,一旦Master崩溃,触发Watcher通知,Slave重新进行Master选举

分布式锁

排他锁

写锁或者独占锁,有且仅有一个事务获得锁

共享锁

读锁,相对于排他锁,减小了锁的范围。

通过顺序节点控制,读的时候保证没有比自己更小写请求节点,写的时候需要保证自己是最小的写请求节点。这就需要在其他节点上注册Watcher,为了避免“羊群效应”(注册不必要的Watcher),采用读的节点向其上一写节点注册Watcher,写节点向其上一个节点注册Watcher。

分布式队列

FIFO:先进先出队列

Barrier:分布式屏障

你可能感兴趣的:(Zookeeper使用场景-读书笔记6)