Consul注册中心
1、Consul是什么?
它是一款服务软件,consul.exe的可执行文件
2、Consul有什么功能?
内置了服务注册与发现框架、
分布一致性协议实现、
健康检查、Key/Value 存储、
多数据中心方案
3、如何运用?
创建maven工程consul-client
添加依赖:pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.zemel</groupId> <artifactId>eureka-server</artifactId> <version>0.0.1-SNAPSHOT</version> <name>eureka-server</name> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.4.RELEASE</version> <relativePath /> </parent> <dependencies> <!-- eureka客户端依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-discovery</artifactId> </dependency> </dependencies> <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> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
添加配置:application.properties
#应用名称,全应用唯一标识
spring.application.name=consul-client
#服务端口
server.port=2001
#该值对应eureka中配置的eureka.instance.hostname 的value和端口(eureka/ ? 怎么冒出来的)
#注册中心的位置
#eureka.client.serviceUrl.defaultZone=http://localhost:1001/eureka
spring.cloud.consul.host=localhost
spring.cloud.consul.port=8500
创建启动类:ConsulClientApplication.java
package com.zemel;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@EnableDiscoveryClient // 启用发现客户端
@SpringBootApplication
public class ConsulClientApplication {
public static void main(String[] args) {
new SpringApplicationBuilder(ConsulClientApplication.class).web(true).run(args);
}
}
以上代码编写完毕。
4、如何启动服务?
先启动consul服务端,那先下载软件consul ,下载地址:https://www.consul.io/
下载后得到
启动它,打开cmd窗口,进入consul所在目录

输入命令“consul.exe agent -dev”

启动结果:

在浏览器输入 “http://localhost:8500/ui/dc1/services ” ,consul的默认启动端口8500
访问结果

启动consul-client应用,刷新 “http://localhost:8500/ui/dc1/services ”

上图可看到consul-client服务。
但遗留一个问题,Health Checks下有一个红叉,据说是没有配置健康检查服务,所以报错。
看到各位可以试试配置一个健康检查服务,红叉应该会消失

浙公网安备 33010602011771号