初识ZooKeeper-ZooKeeper简介

什么是ZooKeeper?

          我们从字面上可以拆分理解为 zoo + keeper = 动物园管理员。

          动物园里面有一群大象(Hadoop)、一群野猪(Apache Pig)等等一群动物们,这样就形成了集群与集群的关联,形成了一个分布式的概念,当然了管理员也不只是一个,会有多个动物园管理员,这样动物园管理员也是一个群体(ZooKeeper群)。

          ZooKeeper是一个中间件,提供协调服务。作用于分布式系统,发挥其优势,可以为大数据服务。支持Java,提供Java和c语言的客户端的api。

什么是分布式系统?

很多要计算机组成一个整体,一个整体一致对外并且处理同一个请求。其中,内部的每台计算机都可以相互通信(rest/rpc),客户端到服务端的一次请求到响应结束会经历很多台计算机。

                                                              网盘简单分布式图示

                                                购物网站简单分布式图示

简单的来说,将原有的一套系统进行拆分,把他根据业务的不同将业务细分或者模块化拆分为不同的服务也就多个子系统,不同的服务可以做相应的集群,也就是分布式的集群系统,最后将多个子系统组合成一个庞大的系统。对于用户来讲不是透明的,对于我们来讲是透明的。这样可以将用户的请求分流到不同的系统中,这样整个系统的负载可以极大的提高。面向服务的开发,也就是我们说的微服务。

ZooKeeper的特性

一致性:数据一致性,数据按照顺序分批入库

原子性:事务要么成功要么失败,不会局部化

单一视图:客户端连接集群中的任意ZooKeeper节点,数据都是一致的

可靠性:每次对ZooKeeper的操作状态都会保存在服务端

实时性:客户端可以读取到ZooKeeper服务端的最新数据

 

猜你喜欢

转载自blog.csdn.net/qq_36014509/article/details/81474505