k8s学习--k8s群集部署zookeeper应用及详细解释


zookeeper

什么是zookeeper

ZooKeeper 是一个开源的分布式协调服务,主要用于分布式应用程序中,管理数据、同步服务以及维护配置信息。它是由 Apache Software Foundation 管理和维护的。

基本概念

ZNode: ZooKeeper 的数据存储单元,类似于文件系统中的文件和目录。ZNode 可以存储数据和子节点。

Zookeeper Ensemble: 一个 ZooKeeper 服务通常由多个 ZooKeeper 服务器(节点)组成,称为一个 ensemble。通常会有一个主节点(Leader)和若干个跟随节点(Follower)。

Session: 客户端与 ZooKeeper 服务器之间的会话。每个客户端会话都有一个唯一的会话 ID。

主要功能

命名服务(Naming Service): 类似于 DNS,允许分布式应用程序使用路径来访问资源和服务。

配置管理(Configuration Management): 存储和更新配置信息,使得分布式应用程序的各个部分能够同步读取最新的配置。

分布式同步(Distributed Synchronization): 支持分布式锁和队列,帮助多个进程协调对共享资源的访问。

组服务(Group Services): 用于维护分布式系统中群组成员的列表,监控集群中节点的状态。

工作原理

ZooKeeper 采用了一个简单的、基于全局数据一致性的模型:

Leader Election: 当 ZooKeeper 集群启动时,节点之间通过投票选举出一个 Leader。Leader 负责处理所有写请求,而读请求可以由任何节点处理。

Watches: 客户端可以在 ZNode 上设置 watch,当 ZNode 的数据或子节点变化时,ZooKeeper 会通知客户端。

Atomic Broadcast (Zab): ZooKeeper 使用一种叫做 Zab 协议的原子广播协议,确保所有服务器上的数据一致性。所有的写操作都会被记录为事务日志,并通过 Zab 协议广播给其他节点。

使用场景

分布式锁: 使用临时 ZNode 实现分布式锁,确保多个进程不会同时访问共享资源。

集群管理: 在分布式系统中,使用 ZooKeeper 监控集群中的节点,处理节点的动态增加和减少。

配置管理: 存储和分发分布式应用程序的配置参数,确保所有节点使用相同的配置。

命名服务: 管理分布式系统中服务的命名和查找。

优点

高可用性: ZooKeeper 采用分布式架构,保证了高可用性和容错能力。

高性能: ZooKeeper 的读性能非常高,适合高读负载的场景。

一致性: 提供严格的数据一致性,确保分布式系统中各个节点的数据一致。

缺点

单点瓶颈: Leader 处理所有写请求,可能成为性能瓶颈。

复杂性: 部署和管理 ZooKeeper 集群需要一定的技术门槛。

k8s集群部署zookeeper

环境

虚拟机

Ip 主机名 cpu 内存 硬盘
192.168.10.11 master01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃龙利鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值