前言
Consul 是一套开源的分布式服务发现和配置管理系统,由hashiCorp公司用Go语言开发
提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以使用以构建全方位的服务网格,总之Consul提供了一种完整的服务网格解决方案。它具有很多优点:包括:基于raft协议,比较简洁;支持健康检查,同时支持HTTP和DNS协议支持跨数据中心的WAN集群,提供图形界面,跨平台,支持Linux、Mac、Windows
如果我们想要使用Consul就必须要到官网上去下载,https://www.consul.io/downloads.html
下载完成之后就只有一个consul.exe文件,在cmd中访问上级目录输入:consul agent -dev 运行。然后通过http://localhost:8500即可访问(结果如下图)
如果出现这个页面即表示安装开启成功了。
接下来创建一个Maven工程(内容如下)
项目源码https://pan.baidu.com/s/1TJk_3FC5I6hgUQDTyZnKlA 提取码:uley
其中80是用户端,8006是客户端,同时运行80和8006即可。然后我们在访问http://localhost:8500端口。会发现多了二个内容,这二个内容就是我们把80和8006注册进入到了Consul里面。
然后我们通过用户端,访问服务端的数据
到此单机版的已经完成了,其实单机版和集成版的区别不是很大,只需要在application.yml文件中把单机的配置改成集成的即可。
说一下项目需要的jar包
<!-- springCloud consul-server -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
application.yml配置
spring:
#入住注册中心的名称
application:
name: consul-provider-payment
#consul注册中心
cloud:
consul:
host: localhost
port: 8500
discovery:
service-name: ${spring.application.name}