consul 是做微服务用到的服务发现模块 。是一个支持多数据中心分布式高可用的服务发现和配置共享的服务软件,由 HashiCorp 公司用 Go 语言开发,目前在国内也有大量的使用和落地案例。
因工作需求需要写游戏服务器 用到的 架构 nsq+consul + redis +mysql+ docker 微服务架构做 一款高扩展的服务器。下面我们熟悉一下consul 安装
- 首先我们在 /usr/local创建一个文件夹 mkdir /usr/local/consul
- cp ./consul_1.7.4_linux_amd64.zip /usr/local/consul 把zip包拷贝到创建的文件夹里
- unzip consul_1.7.4_linux_amd64.zip 解压文件
- 得到consul程序。
- 在创建一个data文件夹 mkdir /usr/local/consul/data 提供一个目录用来存放agent的状态
- cd /usr/local/consul 进入consul 目录
- 启动服务 nohup ./consul agent -server -ui -bootstrap-expect=1 -data-dir=/usr/local/consuldata/data -node=agent-one -advertise=106.52.146.229 -bind=0.0.0.0 -client=0.0.0.0 &
扩展知识:
运行cosnul agent以server
模式,
-server
: 定义agent运行在server模式-bootstrap-expect
:在一个datacenter中期望提供的server节点数目,当该值提供的时候,consul一直等到达到指定sever数目的时候才会引导整个集群,该标记不能和bootstrap共用-bind
:该地址用来在集群内部的通讯,集群内的所有节点到地址都必须是可达的,默认是0.0.0.0-node
:节点在集群中的名称,在一个集群中必须是唯一的,默认是该节点的主机名-ui-dir
: 提供存放web ui资源的路径,该目录必须是可读的-rejoin
:使consul忽略先前的离开,在再次启动后仍旧尝试加入集群中。-config-dir
:配置文件目录,里面所有以.json结尾的文件都会被加载-client
:consul服务侦听地址,这个地址提供HTTP、DNS、RPC等服务,默认是127.0.0.1所以不对外提供服务,如果你要对外提供服务改成0.0.0.0
原创文章,作者:星辰,如若转载,请注明出处:https://www.z88j.com/18.html