consul的优点:
1.使用了go语言编写在并发方面比java语言性能都要优秀
2.方便部署,因为安装包里面只有一个可执行文件
3.基于raft算法(比zookper的实现的算法更容易理解)

consul角色,根据启动命令
Consul启动命令三种
-dev (开发模式)
./consul agent -dev
-client (部署到正式环境命令)客户端角色
./consul agent -client
-server (集群)服务端角色
./consul agent -server
集群一般是3~5个,推荐是奇数台的服务器,规定挂掉集群数量大于等于一半集群不可用,用三台和用4台的效果是一样的,集群过多同步时间就会变成长所以不推荐
提供者向consul注册服务,consul定时请求服务者查看健康状态,如果不健康了就剔除服务列表(/health)
消费者请求consul取出自己所需的服务,temptable是一个表格形式的文档
Consumer拿到注册的id去提供者取自己所需要的服务。
集群模式
Consul分为两个区域,客户端client和服务端server,consul一台挂掉会有从成为主,client只是做请求触发,占用的资源很少
集群的搭建
服务端的启动
-bind
是自己的服务地址
-client
是放行所有服务
-ui
是可以在8500的界面上可以显示
bootatrap-expect
是集群的数量
-data-dir
数据存储地址
客户端的启动
集群的关联
./consul join 192.168.10.101
(把其他的consul服务添加到101的consul服务中,101的为主)
客户端也要做同样的操作
查询
./consul/members