pc网站建设和推广,电子商城网站开发教程,今天31个省新增最新消息视频,门户网站做一、Consul的基础介绍Consul是HashiCorp公司推出的开源工具#xff0c;用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案#xff0c;比如 Airbnb的SmartStack等相比#xff0c;Consul的方案更“一站式”#xff0c;内置了服务注册与发现框 架、分布一… 一、Consul的基础介绍 Consul是HashiCorp公司推出的开源工具用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案比如 Airbnb的SmartStack等相比Consul的方案更“一站式”内置了服务注册与发现框 架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案不再需要依赖其他工具比如ZooKeeper等使用起来也较 为简单。Consul用Golang实现因此具有天然可移植性支持Linux、windows和Mac OS X安装包仅包含一个可执行文件方便部署与Docker等轻量级容器可无缝配合。关于Consul的更多介绍比如优点这里就不再赘述了上网一搜就可以随处找到了。但是必须贴一个和其他类似软件的对比二、Consul安装前的理解 Consul Agent有两种运行模式Server和Client。这里的Server和Client只是Consul集群层面的区分与搭建在Cluster之上的应用服务无关 以Server模式运行的Consul Agent节点用于维护Consul集群的状态官方建议每个Consul Cluster至少有3个或以上的运行在Server Mode的AgentClient节点不限。 Consul支持多数据中心每个数据中心的Consul Cluster都会在运行于Server模式下的Agent节点中选出一个Leader节点这个选举过程通过Consul实现的raft协议保证多个 Server节点上的Consul数据信息是强一致的。处于Client Mode的Consul Agent节点比较简单无状态仅仅负责将请求转发给Server Agent节点。 这里我们会演示两种情况的安装一种单节点部署二种集群部署由简单到复杂的部署会更容易理解。三、Consul正式安装单节点1、下载Consul官网地址https://www.consul.io/downloads.html下载对应的版本即可确认好版本好下载到我们的本机目录命令 wget -P /opt/consul/ https://releases.hashicorp.com/consul/1.2.2/consul_1.2.2_linux_amd64.zip2、安装Consul#先解压Consul文件 unzip consul_1.2.2_linux_amd64.zip#将Consul文件拷贝到执行目录 mv consul /usr/local/bin/注如果找不到unzip命令请安装命令如yum install -y unzip3、测试Consul是否安装成功 consul如下图表示成功4、启动与配置Consul服务consul agent -server -ui -bootstrap-expect1 -data-dir/tmp/consul -nodeconsul-1 -client0.0.0.0 -bind172.16.1.174 -datacenterdc1如下图表示启动成功输入地址查看服务状态目前Consul正常运行进一步查看server的情况与角色状态查看各个server的情况 consul members查看目前全部的consul的角色状态 consul operator raft list-peers5、通过配置文件来注册服务也可以从consul api 接口添加服务注册他会自动持久化vi /etc/consul/services_config.json{services:[{id: CLIENT_SERVICE_01,name : MVCClientService,tags: [urlprefix-/MVCClientService01],address: 172.16.1.110,port: 5000,checks: [{name: clientservice_check,http: http://172.16.1.110:5000,interval: 10s,timeout: 5s}]},{id: CLIENT_SERVICE_02,name : APIClientService,tags: [urlprefix-/APIClientService02],address: 172.16.1.110,port: 5000,checks: [{name: clientservice_check,http: http://172.16.1.110:5001/api/values,interval: 10s,timeout: 5s}]}]}重新运行命令consul agent -server -ui -bootstrap-expect1 -config-dir/etc/consul -data-dir/tmp/consul -nodeconsul-1 -client0.0.0.0 -bind172.16.1.174 -datacenterdc1注一定要保证后端服务正常运行端口50005001运行成功后如下图以上操作都是在Consul Server 端进行操作的按官方说明Consul Server与Consul Client要进行区分后端的服务应该部署在Consul Client上他们分别处理自己的事情就好。相关文章.net core grpc consul 实现服务注册 服务发现 负载均衡(二)winserver的consul部署实践与.net core客户端使用附demo源码原文地址: https://blog.csdn.net/hailang2ll/article/details/82020027.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com