深入理解Consul注册中心机制

概述

Consul作为注册中心,提供服务发现、配置、健康检查、安全服务通信以及多数据中心等功能, 这些功能可以根据需要单独使用,也可以一起使用来构建完整的微服务系统。

Consul agent

Consul agent是Consul的核心进程。它是运行在Consul节点上,这些节点共同组成Consul集群。agent进程用于维护成员信息、注册服务、成员健康检查等功能,agent有如下两种模式运行:

  • 客户端模式(client)通过Client模式启动节点加入Consul集群中,这种模式启动的节点数量没有限制,而且它们可以轻松扩展到数千或数万。在同一个数据中心组成的集群中,所有节点参与gossip协议。通过使用gossip协议检测节点故障, 比单纯的心跳方案具有更大的可扩展性。它还为节点提供故障检测;如果agent不可达,则节点可能出现故障。Client节点缓存server节点的数据,用以提高性能和可用性。
  • 服务端模式(server)通过Server模式启动agent节点参与选举。在生产环境中3到5台服务器组成。这在故障情况下的可用性和性能之间取得了平衡,因为随着增加更多的服务器,一致性会逐渐变慢。集群中所有Server启动模式的agent节点参与Raft协议,共同选举出领导者。选举出领导者的节点负责查询数据以及数据同步到其它Server节点上

agent节点启动

  1. 从官网下载Consul压缩包

  2. 解压启动。如下:

    [root@unite-test consul]# consul agent -data-dir=/tmp/consul -node=server184.43 -datacenter=unite-dc -server=true
    ==> Starting Consul agent...
               Version: 'v1.7.2'
               Node ID: '74124b5b-aedc-59c3-5e6c-436443f2c025'
             Node name: 'server184.43'
            Datacenter: 'unite-dc' (Segment: '<all>')
                Server: true (Bootstrap: false)
           Client Addr: [127.0.0.1] (HTTP: 8500, HTTPS: -1, gRPC: -1, DNS: 8600)
          Cluster Addr: 172.27.185.43 (LAN: 8301, WAN: 8302)
               Encrypt: Gossip: false, TLS-Outgoing: false, TLS-Incoming: false, Auto-Encrypt-TLS: false
    
    ==> Log data will now stream in as it occurs:
    
        2022-03-14T11:50:01.620+0800 [WARN]  agent: Node name will not be discoverable via DNS due to invalid characters. Valid characters include all alpha-numerics and dashes.: node_name=server184.43
        2022-03-14T11:50:01.625+0800 [INFO]  agent.server.raft: initial configuration: index=0 servers=[]
        2022-03-14T11:50:01.625+0800 [INFO]  agent.server.serf.wan: serf: EventMemberJoin: server184.43.unite-dc 172.27.185.43
        2022-03-14T11:50:01.626+0800 
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值