consul简介及安装
简介
consul
提供了服务注册与发现框 架、分布一致性协议实现、健康检查、KV存储、多数据中心方案等功能。
-
一致性:采用的是
RAFT
算法保证分布式节点的一致性。 -
服务发现:采用
http
和dns
协议。 -
服务注册:1、通过
http API
,由服务自己调用API
实现注册,2、通过JSON
配置文件实现注册,将需要注册的服务以JSON
格式的配置文件给出。 -
服务间的通讯协议:使用gossip协议管理成员关系、广播消息到整个集群
角色
1、client
客户端模式:将所有注册到当前节点的服务会被转发到server,自己是不持久化数据。
2、server
server模式:功能和客户端模式一样,不同的是会把所有的信息持久化的本地。
3、server-leader
server leader模式:其它server的领导者,和其它server不一样的是需要负责同步注册的信息给其它的server,同时也要负责各个节点的健康监测。
安装
CentOS
上可以直接使用yum
进行安装
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
sudo yum -y install consul
也可以直接下载二进制包,解压就可以直接使用。
tar zxvf consul_1.9.6_linux_amd64.zip -C /usr/local/bin/
启动服务(单节点)
nohup consul agent -server -data-dir=/data/consul-data/ -node=node1 -bind=0.0.0.0 -bootstrap-expect=1 -client=0.0.0.0 -ui > /data/consul-data/consul.log &
- –server 指定server agent
- –data-dir l数据存储路径
- –bootstrap-expect 期望的server节点数目,consul一直等到指定sever数目才会引导整个集群
- –bind:该地址用来在集群内部的通讯,集群内的所有节点到地址都必须是可达的,默认是0.0.0.0
- –node:节点在集群中的名称,在一个集群中必须是唯一的,默认是该节点的主机名
- –ui: web的管理ui,查看服务和节点,可以通过访问:8500端口要访问UI
- –client:提供HTTP、DNS、RPC等服务,默认是127.0.0.1,不对外提供服务,如果需要则改成0.0.0.0
单节点扩容
nohup consul agent -bind=0.0.0.0 -client=0.0.0.0 -data-dir=/data/consul-data/ -node=node2 -join=192.168.122.100 > /data/consul-data/consul.log 2>&1 &
192.168.122.100
就是刚才那台服务器的IP
总结
consul
部署很方便,可以试试。
- 原文作者:Linux运维菜
- 原文链接:https://www.opcai.top/post/2021/2021-06/consul/
- 版权声明:本作品采用进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。