bbbus
V2EX  ›  编程

如何让 etcd 服务高可用且不中断

  •  
  •   bbbus · Jun 11, 2019 · 5717 views
    This topic created in 2547 days ago, the information mentioned may be changed or developed.

    前提: 用 Docker 部署了三个 etcd container. 然后又跑了两个 rpc server, 并通过服务注册提交 rpc server 信息到 etcd. 另外再运行了 n 个 rpc client, 先从 etcd 获取 server 节点,再通过 RPC 调用 Server 的方法.

    遇到的问题: Stop 掉一个 etcd 节点, rpc client 和 server 有几个会报错, 提示无法连接到 etcd 2380 端口. 重新开起停掉的 etcd 节点以后就恢复正常了.

    所以想问问大家的 etcd 都是怎么玩的, 如何能保证 etcd 在一个或几个节点挂掉的时候, 服务保持正常且不中断.

    5 replies    2019-06-20 15:46:29 +08:00
    HuHui
        1
    HuHui  
       Jun 11, 2019 via Android
    CAP 选 AP 的?
    HuHui
        2
    HuHui  
       Jun 11, 2019 via Android
    @HuHui 看错问题了,用 VIP 应该可以解决
    bbbus
        3
    bbbus  
    OP
       Jun 11, 2019
    @HuHui
    viper 和 confd 这种可能不太合适. etcd 好像没有一个统一的地址, 这个让人有点疑惑.
    bbbus
        4
    bbbus  
    OP
       Jun 11, 2019
    我现在考虑用 nginx 做一个 etcd 集群的负载均衡器,所有的 server 和 client 都连 nginx 的 IP,就不用考虑 etcd 哪个节点挂掉的情况了,不知道这个姿势对不对。
    tao147258
        5
    tao147258  
       Jun 20, 2019
    @bbbus nginx 挂了呢¿
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1044 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 5414617a · 36ms · UTC 18:52 · PVG 02:52 · LAX 11:52 · JFK 14:52
    ♥ Do have faith in what you're doing.