V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zxc1234
V2EX  ›  程序员

关于 zookeeper

  •  
  •   zxc1234 · 2020-07-06 23:16:48 +08:00 · 2147 次点击
    这是一个创建于 1594 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    那么

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

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

    新人求教

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

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

    你问的两个问题都和 zookeeper 没关系,也和服务无发现没什么关系。
    billlee
        4
    billlee  
       2020-07-07 00:03:49 +08:00
    Zookeeper 的关键是多节点写入的情况下能保持最终一致,你要是没有几万台服务器,根本不需要在服务发现这这件事上支持多节点读写,主备切换就好了
    zxc1234
        5
    zxc1234  
    OP
       2020-07-07 06:57:25 +08:00 via iPhone
    @billlee 请问我那边那两个问题,一般搭配什么使用呢
    liqiangzjhzz
        6
    liqiangzjhzz  
       2020-07-07 09:51:29 +08:00
    Zookeeper 主要是分区容错,避免整个系统的单点故障瓶颈,最少要部署 3 台。
    chenxiaokang
        7
    chenxiaokang  
       2020-07-07 15:22:43 +08:00
    zookeeper 的应用主要在粗粒度分布式锁,分布式选主,主备高可用切换等不需要高 TPS 支持的场景,服务发现使用 zk 并不是一个好选择
    zxc1234
        8
    zxc1234  
    OP
       2020-08-09 22:35:36 +08:00 via iPhone
    @chenxiaokang 大佬,不然用啥
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2753 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 11:43 · PVG 19:43 · LAX 03:43 · JFK 06:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.