- 自序
- 概述
- 安装和运行 Zookeeper
- Zookeeper 开发实例
- ZooKeeper 中的组和成员
- 创建组
- 加入组
- 成员列表
- 删除分组
- Zookeeper 服务
- 数据模型 Data Model
- 操作 Operations
- 实现 Implementation
- 数据一致性 Consistency
- 会话 Sessions
- ZooKeeper 应用程序 Building Applications with ZooKeeper
- 配置服务 Configuration Service
- 坚韧的 ZooKeeper 应用 The Resilient ZooKeeper Application
- 一个稳定的配置服务 A reliable configuration service
- 生产环境中的 ZooKeeper ZooKeeper in Production
- 韧性和性能 Resilience and Performance
- 配置
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
韧性和性能 Resilience and Performance
ZooKeeper 应用应该被定位用于减少机器和网络对系统的影响。在实践中这意味着我将隔离机架、电源供应和路由,使得我们不会因为他们的故障而导致失去我们的大多数服务器。
低延迟服务应用的重点是要求所有的服务器都在一个数据中心里。然而一些不要求低延迟应答的场景,为了获得额外的韧性,将服务器部署在不同的数据中心(至少每两台在一个数据中心)。本节中的例子是一个 leader 选举算法和一个分布式锁算法,两者都不具有频繁的状态改变的特征,几十毫秒的开销对于系统并不会造成重要的影响。
注意 |
---|
ZooKeeper 的概念中有一类不参加 leader 选举投票的 follower。由于在众多的读请求过程中,这种观察者节点并不参加投票,所以可以提高 ZooKeeper 集群的读取性能,而不去伤害到写入性能。观察者节点可以部署在跨数据中心的环境下,而不会像参加投票的 follower 那样在跨数据中心的环境中会对集群产生潜在的影响。那么我们可以将参加投票的 follower 部署在同一个数据中心,而将不参加投票的 follower 部署在另外一个数据中心。 |
ZooKeeper 是一个高可用的系统,他的重点是能够及时运行它的功能。因此,建议 ZooKeeper 服务器最好专注于运行 ZooKeeper。如果运行了其他的应用程序,可能会降低 ZooKeeper 的性能。
配置保证 ZooKeeper 的事务日志在与他的快照不同的硬盘上。默认情况下,都在 dataDir
指定的目录下,我们可以通过额外设置 dataLogDir
来指定日志的目录。日志被指定写到专门的硬盘设备,ZooKeeper 就可以对大化写日志的速率。
我们在配置文件夹下的 java.env
中可以配置 JVM 参数。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论