Eureka! Why You Shouldn’t Use ZooKeeper for Service Discovery

Eureka! Why You Shouldn’t Use ZooKeeper for Service Discovery(未翻译完成)

Written by Peter Kelley
原文链接

许多公司使用ZooKeeper作为服务发现。在Knewton,我们认为这是一个根本上有缺陷的方法。在本文中我将会介绍在使用ZooKeeper上的事故,告诉您为什么不应该将它用于服务发现,并解释为什么Eureka是更好的解决方案。

记住你正在构造的是什么(Remember What You’re Building On)

让我们回过来。当你决定用什么软件或者构造自己的软件之前,首先最重要的是要讨论的是用什么样的目标环境。在云平台中,设备的弹性和网络故障是主要需要考虑的。当你通过大量的可替换硬件来运行你的软件时,在其中一个硬件的某些时候回发生故障是不可避免的。在Knewton,我们运行在AWS上,而且我们遇到过很多不同类型的故障。你需要设计好你的系统可能出现的故障。软件运行在AWS上的其他公司也同意这一观点。您必须预测机箱故障,高延迟和网络分区-并在你的系统中构建针对它们的弹性
不要认为您的环境与其他人的相同。当然,如果您在运维您自己的数据中心,那么您很可能会投入时间和金钱去最小化硬件故障和网络分区。但是,像AWS这样的云环境做出了不同的权衡。你将会遇到这些问题,你最好为它们做好准备。

使用ZooKeeper的故障(Failures with ZooKeeper)

ZooKeeper是一个很棒的软件项目。它已经成熟,已经有一个大型的社区支持,并且被很多团队用于生产。但它是解决服务发现问题的错误方案。
在CAP术语中,ZooKeeper表示CP,这意味着它在分区面前是一致的,不可用。对于ZooKeeper所做的很多事情,这是一个必要的权衡。由于ZooKeeper首先是协调服务,因此具有最终一致的设计(即AP)将会是一个很可怕的设计决策。因此它的核心共识性算法Zab就是一致性。

反馈与建议

如有翻译错误之处,欢迎指正。
- 邮箱:alpherkingsly@sina.com.cn


感谢阅读这份文档

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值