Skip to content

Latest commit

 

History

History
62 lines (19 loc) · 1.95 KB

117.md

File metadata and controls

62 lines (19 loc) · 1.95 KB

117、有哪些开源的分布式系统中使用了ZooKeeper

Canal、Kafka、HDFS,学习过的这些技术都用了ZooKeeper,元数据管理,Master选举

ZooKeeper,他主要是提供哪些功能,满足哪些需求,使用在哪些场景下,最后一句话总结,ZooKeeper到底是为什么而生的,定位是什么?

三类系统

第一类:分布式Java业务系统,分布式电商平台,大部分的Java开发的互联网平台,或者是传统架构系统,都是分布式Java业务系统,Dubbo、Spring Cloud把系统拆分成很多的服务或者是子系统,大家协调工作,完成最终的功能

ZooKeeper,用的比较少,分布式锁的功能,而且很多人会选择用Redis分布式锁

第二类:开源的分布式系统

Dubbo,HBase,HDFS,Kafka,Canal,Storm,Solr

分布式集群的集中式元数据存储、Master选举实现HA架构、分布式协调和通知

Dubbo:ZooKeeper作为注册中心,分布式集群的集中式元数据存储

HBase:分布式集群的集中式元数据存储

HDFS:Master选举实现HA架构

Kafka:分布式集群的集中式元数据存储,分布式协调和通知

Canal:分布式集群的集中式元数据存储,Master选举实现HA架构

第三类:自研的分布式系统

HDFS,面向的超大文件,切割成一个一个的小块儿,分布式存储在一个大的集群里

分布式海量小文件系统:NameNode的HA架构,仿照HDFS的NameNode的HA架构,做主备两个NameNode,进行数据同步,然后自动基于zk进行热切换

在很多,如果你自己研发类似的一些分布式系统,都可以考虑,你是否需要一个地方集中式存储分布式集群的元数据?是否需要一个东西辅助你进行Master选举实现HA架构?进行分布式协调通知?

如果你在自研分布式系统的时候,有类似的需求,那么就可以考虑引入ZooKeeper来满足你的需求