关于 zookeeper

2020-07-06 23:16:48 +08:00
 zxc1234

我的理解是它是可以维护一个服务列表,服务都可以在 zookeeper 中注册,发现。

当程序访问 zookeeper 列表的时候,可以拿到服务信息,然后直接与服务进行通信

那么

如果涉及到传输序列化与反序列化呢,一般搭配什么使用呢?

服务的调用也要涉及到负载均衡吧,一般搭配什么来做负载均衡呢?

新人求教

1967 次点击
所在节点    程序员
8 条回复
hangszhang
2020-07-06 23:43:06 +08:00
为了方便可读一般就 JSON 吧, Zookeeper 里面不适合存储比较大的数据, 数据要是小的话, 用什么都差不多, 那不如就 JSON.
hangszhang
2020-07-06 23:49:42 +08:00
Zookeeper 是一个文件结构的数据库, 可以用它来实现你说服务列表, 但是你不能把 Zookeeper 理解为就是一个服务列表, 它只是提供了基础操作让你来实现服务列表, 但是它还是能实现一些别的东西, 比如分布式锁, Master 选举啥的
billlee
2020-07-07 00:00:46 +08:00
你理解得不对。如果只是维护列表,那 mysql 可以做,redis 也可以做,为什么要用 zookeeper 呢?

你要是没有几万台服务器,可能 redis 更合适

你问的两个问题都和 zookeeper 没关系,也和服务无发现没什么关系。
billlee
2020-07-07 00:03:49 +08:00
Zookeeper 的关键是多节点写入的情况下能保持最终一致,你要是没有几万台服务器,根本不需要在服务发现这这件事上支持多节点读写,主备切换就好了
zxc1234
2020-07-07 06:57:25 +08:00
@billlee 请问我那边那两个问题,一般搭配什么使用呢
liqiangzjhzz
2020-07-07 09:51:29 +08:00
Zookeeper 主要是分区容错,避免整个系统的单点故障瓶颈,最少要部署 3 台。
chenxiaokang
2020-07-07 15:22:43 +08:00
zookeeper 的应用主要在粗粒度分布式锁,分布式选主,主备高可用切换等不需要高 TPS 支持的场景,服务发现使用 zk 并不是一个好选择
zxc1234
2020-08-09 22:35:36 +08:00
@chenxiaokang 大佬,不然用啥

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/687724

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX