.netcore consul实现服务注册与发现-单节点部署
一、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的Agent,Client节点不限。
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,下载对应的版本即可
确认好版本好,下载到我们的本机目录命令:
2、安装Consul
3、测试Consul是否安装成功
如下图表示成功:
4、启动与配置Consul服务
如下图表示启动成功:
输入地址查看服务状态:目前Consul正常运行
进一步查看server的情况与角色状态
5、通过配置文件来注册服务(也可以从consul api 接口添加服务注册,他会自动持久化)
重新运行命令:
注:一定要保证后端服务正常运行:端口5000,5001
运行成功后,如下图:
以上操作都是在Consul Server 端进行操作的,按官方说明:Consul Server与Consul Client要进行区分,后端的服务应该部署在Consul Client上,他们分别处理自己的事情就好。
下一篇文章已更新:.netcore consul实现服务注册与发现-集群
作者:Dylan
公众号:dotNET名人堂(sharecore)
微信:tangguo_9669
QQ:.NET Core 技术交流(18362376)
出处:https://www.cnblogs.com/hailang8/