欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring cloud系列三 Spring Cloud 配置中心集群

程序员文章站 2022-07-15 09:59:24
...

1. 概述

上篇文章Spring cloud系列二 Spring Cloud 配置中心的基本用法我们介绍了配置中心的基本用法,但是这个用法有个缺点,只有一台配置服务。如果这台服务挂掉,则整个服务不可用。为了提高配置中心的可靠性,本节我们介绍将配置中心注册成服务,客户端通过注册中心获取服务。这样可以保证有多台服务可以提供服务,如果一台服务出问题,则客户端自动访问另一台服务

本节,我们只重点讲集群相关的配置,基本的配置中心配置本节略,如果你有兴趣可以看上篇内容

2. 配置中心集群和使用

2.1. 配置中心集群

配置中心集群主要通过将配置服务注册成服务来达到集群的目地。

配置中心工程: cloud-config-center
配置中心的其它配置见上篇文章内容,这里只介绍注册成服务的部分

  • @EnableEurekaClient:通过本注解将配置中心注册到配置中心
@SpringBootApplication
@EnableConfigServer // **该应用为配置文件服务器:读取远程配置文件,转换为rest接口服务
@EnableEurekaClient // 配置本应用将使用服务注册和服务发现
public class CloudGitConfigServerApplication {

    public static void main(String[] args) {
        args = new String[1];
        args[0] = "--spring.profiles.active=gitsimple2";
        SpringApplication.run(CloudGitConfigServerApplication.class, args);
    }
}

application-gitsimple2.yml:部分相关配置内容如下

  • spring.application.name:配置服务的服务名称
spring:
  application:
    name: config-config-gitsimple2

2.2. 客户端访问配置中心集群

工程名称:cloud-service
bootstrap-simple2.yml:部分相关配置内容如下

  • 注释掉’spring.cloud.config.uri’的配置,增加两个新的配置值:
    • spring.cloud.config.discovery.enabled:如果设置为true,则表示通过注册中心获取配置服务中心地址
    • spring.cloud.config.discovery.service-id:配置中心的服务注册名称,即配置中心工程cloud-config-center的application.yml中spring.application.name的值
spring:
  cloud:
    # 配置服务器的地址
    config:
      # uri: http://127.0.0.1:10888
      # 通过注册服务
      discovery:
        enabled: true
        service-id: config-config-gitsimple2
      # 要读取配置文件读取的值
      name: cloud-config
      # 如果不设置此值,则系统设置此值为 spring.profiles.active
      profile: dev

2.3. 测试

依次启动工程:
cloud-registration-center、 cloud-config-center、cloud-service

查看当前的注册到配置中的信息
http://127.0.0.1:10761/
Spring cloud系列三 Spring Cloud 配置中心集群

访问url: http://127.0.0.1:10082/simple,返回内容:

{"age":112,"name":"git2-default-dev","randomNum":73}

说明我们的配置已经生效了

4. 代码

以上的详细的代码见下面
github代码,请使用tag v0.3,不要使用master