# SpringCloud 服务治理实现(Consul)

Posted MarlonBrando1998

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了# 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上如下

在这里插入图片描述

以上是关于# SpringCloud 服务治理实现(Consul)的主要内容,如果未能解决你的问题,请参考以下文章

0SpringCloud 技术理论整理

springcloud四个注册中心的比较

SpringCloud——服务治理中心Eureka

SpringCloud----服务注册中心Eureka

springcloud-Eureka服务注册发现01

微服务架构下的服务治理:如何在 SpringCloud 框架中实现服务的注册与发现