Consul
部署 docker-compose 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 consul: image: consul:latest container_name: consul ports: - "8300:8300" - "8301:8301" - "8302:8302" - "8500:8500" - "8600:8600" volumes: - /docker-data/consul-data:/consul/data command: agent -server -ui -node=nsn -bootstrap-expect=1 -client=0.0.0.0 -advertise=124.222.162.210 -datacenter=nebula restart: always networks: common-net: aliases: - consul 端口详解 8300: 集群中各个节点相互通信 8301: 节点之间健康检查等交互 8302: 数据中心之间的信息同步 8500: 网页管理界面访问 8600: DNS服务器访问 参数详解 agent 启动一个Agent -server 该节点类型为Server节点,不指定则为Client节点 -ui 开启网页可视化管理界面 -node 指定该节点名称(不可重复) -bootstrap-expect 最少集群的Server节点数量,少于这个值则集群失效,单机则设为1,client节点可以不设置 -advertise 指定本节点外网地址,本机部署可省略 -client 指定外部连接地址,0.0.0.0表示外网全部可以连接 -datacenter 指定数据中心名,同一个数据中心中的节点应一致 节点类型 Server节点:这是Consul集群的核心组成部分,用于维护集群的状态、处理查询请求、执行一致性协议以及提供服务发现和健康检查等功能 Client节点:用于向集群提交查询请求,并将请求转发给Server节点处理,作为服务发现和健康检查的代理,这类节点有着负载均衡、健康检查和故障转移等作用,降低Server节点的压力,搭建集群时,Client节点不是必须的 节点通过 docker exec -it consul consul join 节点IP来加入其他节点 ...