consul提供了服务注册与发现框架、分布式一致性协议实现、健康检查、KV存储、多数据中心解决方案等功能。一致性:采用RAFT算法保证分布式节点的一致性。服务发现:使用http和dns协议。服务注册:1.服务通过httpAPI调用API实现注册。2、通过JSON配置文件实现注册,需要注册的服务以JSON格式在配置文件中给出。服务间通信协议:使用gossip协议管理成员关系,向整个集群广播消息作用1、client客户端模式:所有注册到当前节点的服务都会转发给服务器,不持久化数据。2.Server服务器模式:功能与客户端模式相同,不同的是所有信息都会持久化到本地。3.server-leader服务器领导者模式:其他服务器的领导者与其他服务器不同的是,它需要负责同步注册信息到其他服务器,同时还负责各个节点的健康监控。安装CentOS可以直接yum安装sudoyuminstall-yyum-utilssudoyum-config-manager--add-repohttps://rpm.releases.hashicorp.com/RHEL/hashicorp.reposudoyum-yinstallconsul也可以直接下载二进制包,解压即可直接使用。tarzxvfconsul_1.9.6_linux_amd64.zip-C/usr/local/bin/startup服务(单节点)nohupconsulagent-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指定服务器代理--data-dirl数据存放路径--bootstrap-expectserver节点数,consul等待直到specifiednumberofsever才会引导整个集群–bind:该地址用于集群内部通信,集群中的所有节点必须可达该地址,默认为0.0.0.0–node:名称节点在集群中,在一个集群中必须是唯一的,默认是节点的主机名–ui:web管理ui,查看服务和节点,可以访问UI访问:8500端口–client:提供HTTP,DNS,RPC等服务,默认为127.0.0.1,不对外提供服务,需要时改为0.0.0.0单节点扩展nohupconsulagent-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.log2>&1&192.168.122.100为IP刚才的server总结consul部署很方便,大家可以试试。
