文章目录
Spring Cloud Consul通过自动配置和绑定到Spring Environment和其他Spring编程模型习语,为Spring Boot应用程序提供Consul集成。通过一些简单的注释,您可以快速启用和配置应用程序中的公共模式,并使用Hashicorp的Consul构建大型分布式系统。提供的模式包括服务发现、分布式配置和控制总线。
Spring Cloud Consul 功能
- 服务发现:可以向
Consul
代理注册实例,并且客户端可以使用Spring
托管的Bean
发现实例 - 通过
Spring Cloud Netflix
支持Ribbon
,客户端负载均衡器 - 支持
Spring Cloud LoadBalancer-Spring Cloud
项目提供的客户端负载均衡器 - 通过
Spring Cloud Netflix
支持Zuul
,动态路由器和过滤器 - 分布式配置:使用领事键/值存储
- 控制总线:使用
Consul Events
的分布式控制事件
下载Consul:注意下载Windows版本的用迅雷 不然 慢的一批
-
下载
Windows
版本 -
注意配置
Consul
的Path
环境变量,不然点击exe
程序会闪退。 -
然后
cmd
中开发模式启动 :consul agent -dev
-
访问:
localhost:8500
界面如下
后端应用注册到Consul上
引入依赖
<dependencies>
<!-- 服务注册 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
<version>1.2.1.RELEASE</version>
</dependency>
<!-- SpringBoot -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.5.21.RELEASE</version>
</dependency>
</dependencies>
启动类开启注册注解
ConsulApplication.java
@SpringBootApplication
@EnableDiscoveryClient
public class ConsulApplication {
public static void main(String[] args) {
SpringApplication.run(ConsulApplication.class);
}
}
yaml
配置文件
server:
port: 8001
spring:
application:
name: consul-client-test
cloud:
consul:
host: 127.0.0.1
port: 8500
discovery:
healthCheckPath: /
healthCheckInterval: 5s
启动服务看Consul上如下
-
可以使用
Consul
代替SpringCloud Config
做配置中心。 -
SpringCloudConfig
配置见:https://blog.csdn.net/qq_37248504/article/details/106740467 -
完整代码见git:https://gitee.com/Marlon_Brando/back/tree/master/springcloud-consul