美文网首页程序员
我们应该不应该用ZooKeeper?

我们应该不应该用ZooKeeper?

作者: Jiafu | 来源:发表于2017-11-23 13:55 被阅读0次

最近一年多,跟ZooKeeper打了挺多交道,阅读了一部分ZooKeeper的源代码,也学习到了不少知识,包含Java面向对象设计、分布式一致性协议等等。ZooKeeper基于github和JIRA的开发流也让我觉得挺惊艳的。从开源角度讲,ZooKeeper的质量可能尚可,而且我们也不应该指望开源的项目能有多高质量。如果目的是学习的话,ZooKeeper无疑是一个好的代码库,但是企业级应用的话,ZooKeeper还是有很多问题。

  • Bug数量太多。具体可以参考ZooKeeper在JIRA上的bug列表。而且有相当一部分bug非常致命,包括我提的这个 bug,可能导致在机器挂掉后,选主无法成功!甚至3.4.X版本之前还有几个很严重的一致性问题(要知道ZooKeeper的设计目的就是保证一致性的)。
  • 无法动态配置集群大小。这个问题已经持续很久了,虽然新的3.5版本据说添加了这个特性。但是3.5目前还处于beta版本,正式release不知道要到什么时候了,估计得到2019年了。
  • 业务级应用,通常对高可靠的要求非常高,在极端条件下,数据都不能出错。例如硬盘空间满、网络闪断、多网卡、机器重启。这些环境下,ZooKeeper的测试覆盖可能不足。例如硬盘空间满后,ZooKeeper服务挂掉,并且重启后不能恢复(非必现)。多网卡是最近我提了一个patch后,才算能正常支持。
  • 整体而言,社区的ZooKeeper开发者,还是很勤奋的,基本上一直保持更新的节奏,但是还是让人非常不放心。

该自己造轮子,还得自己造。

相关文章

  • 我们应该不应该用ZooKeeper?

    最近一年多,跟ZooKeeper打了挺多交道,阅读了一部分ZooKeeper的源代码,也学习到了不少知识,包含Ja...

  • 失败炒饭反思

    1. 米饭加水太多,不够干 2. 肉末不应该用生肉末,应该用熏肉粒 3. 应该用炒锅,不应该用平底锅 4. 盐有点...

  • 经济学本源之一东西不够(五)思考

    不应该用钱来买什么? 1、有什么是不应该用金钱来买卖的? 【思...

  • 2019-06-07

    「花开 , 蝴蝶自然来 」 我们生命中的一切所愿,其实不应该用 “ 追求 ”,而应该用 “ 吸引 ”。佛说 “ 有...

  • 2020-10-19

    真爱,不应该用坚持,而是用享受!

  • 变优秀 才会有人 为你着迷

    文/初chu遇 你若盛开,蝴蝶自来!你若精彩,天自安排! 我们生命中的一切所愿,其实不应该用“追求”,而应该用“吸...

  • 2017-04-30什么不应该用钱买

    什么不应该用钱来买? 反方:什么都有价格,都可以买卖。 什么不应该用钱来买?仔细说来包含以下几个意思。 一、不能被...

  • Python 异常处理

    想捕获所有异常时,也不应该用什么类型都不加的 except:,而应该用 except Exception:。前者等...

  • 每日一画107

    不应该用黑爱描嘴巴下面的阴影的

  • 海拔36

    上课:我喜欢学生充满了期待的课堂,不应该用获取知识的借口把学生 整呆了,更不应该用手中的权力把学生吓得“精神抖擞”...

网友评论

    本文标题:我们应该不应该用ZooKeeper?

    本文链接:https://www.haomeiwen.com/subject/rrfzvxtx.html