consul下载安装及使用
1.consul简介
Consul是一种开源的、分布式的服务发现和配置管理工具,能够帮助开发人员构建和管理现代化的分布式系统。它提供了一套完整的功能,包括服务注册与发现、健康检查、KV存储、多数据中心支持等,可以帮助开发人员简化系统的管理和维护工作。
2.consul下载
官网地址:www.consul.io
源码地址:GitHub - spring-cloud/spring-cloud-consul: Spring Cloud Consul
下载地址:Install | Consul | HashiCorp Developer
支持多种操作系统,以windows为例
3.安装检查
windows版下载后只有一个exe文件,在对应路径下打开命令窗口输入:consul --version
出现以下信息说明可以使用。
4.启动
开发模式启动consul:命令行输入consul agent -dev
通过以下地址访问consul首页http://localhost:8500
5.服务注册:
maven依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
配置文件:
启动类添加@EnableDiscoveryClient注解
注意:
使用consul服务名进行请求,默认是开启负载均衡的,调用时需要使用LoadBalanced注解。
@Configuration
public class RestTemplateConfig {
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
}
6.consul配置中心
maven依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-config</artifactId>
</dependency>
bootstrap.yml
spring:
application:
name: cloud-payment-service
cloud:
consul:
host: localhost
port: 8500
discovery:
service-name: ${spring.application.name}
config:
profile-separator: '-'
format: yaml
启动类开启动态刷新:@RefreshScope
consul Key/Value配置:
请求接口:
public Result<String> getInfo(@Value("${mybootstrap.info}") String info) { return Result.success("port: " + port + "\t Info: " + info); }
效果: