# SpringCloud 服務治理實現(Consul)

MarlonBrando1998 2022-01-08 04:56:07 阅读数:588

springcloud 治理 consul

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版本的用迅雷 不然 慢的一批

  • 網址:https://www.consul.io/downloads

  • 下載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上如下

在這裏插入圖片描述

版权声明:本文为[MarlonBrando1998]所创,转载请带上原文链接,感谢。 https://gsmany.com/2022/01/202201080456074300.html