Spring Cloud Consul项目是针对Consul的服务治理实现。Consul是一个分布式高可用的系统,它包含多个组件,但是作为一个整体,在微服务架构中为我们的基础设施提供服务发现和服务配置的工具。它包含了下面几个特性:
- 服务发现
- 健康检查
- Key/Value存储
- 多数据中心
由于Spring Cloud Consul项目的实现,我们可以轻松的将基于Spring Boot的微服务应用注册到Consul上,并通过此实现微服务架构中的服务治理。
启动’'服务注册中心"
首先,consul实现了自己的服务注册中心,所以开发者不需要新建像eureka-server的注册中心。
启动consul的服务注册中心:
Ubuntu下载consul:
sudo apt-get install consul
启动Consul的服务
consul agent -dev
访问:http://localhost:8500,如果出现界面就代表安装成功。
创建服务提供者
创建一个Springboot项目,名字叫做consul-client,其pom.xml文件内容如下:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>1.8</maven.compiler.source>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.4.RELEASE</version>
<relativePath/>
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.SR1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<!-- 引入consul服务提供者jar包,eureka服务提供者的是spring-cloud-starter-eureka-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
Application.properties
spring.cloud.consul.host=localhost
spring.cloud.consul.port=8500
配置主机名和端口号,这也是consul的默认配置。