(五)zookeeper特性及其使用场景

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qinshi965273101/article/details/82945925

0、zookeeper特性

Zookeeper特性:数据一致性,原子性,可靠性,实时性,顺序性,过半性。

此处讲解其中的顺序性的意义,及其实现原理

  • 解决问题:客户端发送三个请求给服务端,服务端需要按照客户端发送请求的的顺序来执行这三个请求。
  • 解决思路:每次发送请求时会携带一个命令版本号,命令版本号是递增的。如图所示,不管哪个请求先到服务端,服务端都会判断是否还有更靠前的请求没有接收到。直到满足了顺序性才会去执行请求。

1、配置文件统一管理

如图,修改client1的配置文件信息,并保存到/park01节点,client2和client3会自动同步配置文件信息。

2、数据的订阅和发布

与配置文件统一管理思想一致

3、分布式屏障

目的:当client1和client2都完成任务后,才能触发client3的任务。类似于同一个进程里的栅栏。

4、分布式锁

目的:当集群中有一个公共资源,但有多个客户端需要使用时,如何让这些客户端有先后顺序的去使用这个资源。

5、统一命名服务

分布式应用中需要一套完整的命名规则,利用Znode节点路径唯一的特点,可以使用节点的路径来代表服务名。

6、集群管理

7、总结

这些应用场景基本上都是通过:节点类型 + 监听机制来实现。

碰到其他的应用场景,也可以从这个角度去思考。

猜你喜欢

转载自blog.csdn.net/qinshi965273101/article/details/82945925