Consul服务注册中心
简介:consul基于go语言进行开发服务注册中心,轻量级服务注册中心(goole)
作用:管理微服务中所有服务注册、发现、管理服务元数据信息存储(服务名,地址列表)以及心跳健康检查
Consul注册中心下载
首先去官网下载
解压文件压(目录最好不要有中文)
启动注册中心
1、首先在consul 打开cmd
运行命令
1 | consul agent -dev |
mac用户 可以通过brew 进行安装
直接在终端运行命令即可
2、访问consul UI界面
默认端口为8500,直接访问这个端口就可以
SpringCloud配置Consul
还是同配置Eureka一样,首先我们创建一个maven子项目,继承父项目的依赖,然后将这个项目配置为SpringBoot服务(添加web依赖,添加配置文件,添加启动类),在这里就不详细说明了。
成为SpringBoot项目之后,就是简单的SpringBoot项目整合流程了
1、添加依赖
1 | <!-- 引入consul依赖--> |
2、修改配置文件
1 | server: |
3、添加注解
这里要注意,这里的注解不是像Eureka一样类似的注解@EnableEurekaClient
,因为注册中心有很多,Spring为了方便适配多种注册中心,除了Eureka这种早期的注册中心之外,其余都使用@EnableDiscoveryClicent
注解。
它会根据你引入的注册中心依赖来确定你用的是哪个注册中心。
1 | /** |
4、然后启动服务,进入注册中心查看是否可用
然后发现,虽然有我们服务的名字,但是显示叉号,显示不可用
原因:consul server检测所有客户端心跳,但是发送心跳时client必须给予响应才能使该服务正常使用。在现有客户端中我们并没有引入健康检查依赖,所以导致健康检查始终不通过,导致服务不能使用,
解决:引入健康检查依赖
1 | <!-- 引入健康检查依赖--> |
然后再次运行:
成功开启服务