Consul简介
Consul是一套开源的分布式服务发现和配置管理系统,由HashiCorp公司用Go语言开发。
提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网格,总之Consul提供了一种完整的服务网格解决方案。
它具有很多优点。包括:基于raft 协议,比较简洁;支持健康检查,同时支持HTTP和DNS协议支持跨数据中心的WAN 集群提供图形界面跨平台,支持Linux、Mac、Windows
使用Docker安装Consul
- 使用docker获取consul
docker pull consul
- 启动consul
docker run --name consul -d -p 8500:8500 consul
- 浏览器打开 http://192.168.56.10:8500
将微服务注册进Consul
引入依赖
<dependencies>
<!--SpringCloud consul-server-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.atguigu.springcloud</groupId>
<artifactId>cloud-api-commons</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--监控-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--热部署-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
配置文件
server:
# consul服务端口
port: 8006
spring:
application:
name: consul-provider-payment
cloud:
consul:
# consul注册中心地址
host: 192.168.56.10
port: 8500
discovery:
hostname: 192.168.56.10
service-name: consul-provider-payment
prefer-ip-address: true
主启动类
添加上 @EnableDiscoveryClient开启服务注册与发现功能
访问查看是否入住
访问http://192.168.56.10:8500