数据发布和订阅(配置中心)
推(服务器推送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:分布式屏障
网友评论