Zookeeper是什么
zookeeper 是一个分布式服务框架,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。简单来说zookeeper=文件系统+监听通知机制。
zookeeper是个CP的中间件,注重一致性(什么是CAP微服务架构--cap的取舍)。
Zookeeper 是通过 zab协议 来保证分布式事务的最终一致性。
什么情况下要用zookeeper呢
首先,我们搞清楚为什么我们需要zookeeper这项技术呢
举个例子:
比如我们搭建了一个数据库的集群,里面有一个master,若干个slave,master负责写入,slave负责读,但是客户端要怎么区分我要去找哪个数据库做对应的操作呢?
所以我们需要有个东西,去告诉客户端,哪个是master你可以写入。
而且还不能是单机系统,得是一个服务器集群,防止单机挂了,没人告诉客户端对应数据库信息。