consul集群搭建

 consul的基本介绍就不多说,官方文档肯定比我说的好,英语渣渣就不献丑了。这里只分享consul集群部署和使用过程中的步骤和遇到的坑。(本文有很多抄袭的地方,但是忘了从哪里copy的了,都是记在我的onenote上的。。。。。如果有作者看见,请联系我,我加上链接,非常感谢)

 先来一张官网的图震贴,consul里面都是叫agent,但是区分server模式和client模式

 我的理解,server作为服务注册的中心服务器,而client只是作为支撑(感觉更多的是分摊server端的压力,因为官方建议是在每台应用服务器上装一个client),不保存任何数据和状态,用完就废弃

 server端建议最少3个节点,当然你也可以直接单点跑(你也可以在生产环境用dev模式跑,反正挂了不要来找我就行)

8500 端口基于HTTP协议,用于API接口或WEB UI访问

8600 端口作为DNS服务器,使我们可以通过节点名查询节点信息

8400 端口rpc通讯???

TCP/UDP/8301 端口用于单个数据中心所有节点之间的互相通讯,即对 LAN 池(包含位于同一局域网或数据中心上的节点)信息的同步。它使得整个数据中心能够自动发现服务器地址,分布式检测节点故障,事件广播(如领导选举事件)。

TCP/UDP/8302 端口用于单个或多个数据中心之间的服务器节点的信息同步,即对 WAN 池(只包含 server 的 WAN Gossip 池,这些服务器主要位于不同的数据中心,通常通过互联网或广域网进行通信。)信息的同步。它针对互联网的高延迟进行了优化,能够实现跨数据中心请求。

TCP/8300 端口用于服务器节点。client端通过该端口 RPC 协议调用server端节点。

本文的命令都是用的docker原生命令,没有采用docker-compose文件启动的形式,所以有些命令可能会非常长,我会对用到的参数做详细解释

假设有3台服务器:

172.16.0.123

172.16.0.124

172.16.0.125

猜你喜欢

转载自www.cnblogs.com/linkinshi/p/9896025.html