注册中心和配置中心集成

效果

  • 服务中心高可用:其实就是互相注册
  • 服务中心的配置文件由配置中心进行管理
  • 配置中心注册服务到服务中心

统一服务注册中心

新建项目:enreka-server-center

添加依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>

添加注解

@EnableEurekaServer

配置配置中心

application-peer1

spring.application.name=high-eureka-service
server.port=1111
eureka.instance.hostname=peer1
eureka.client.service-url.defaultZone=http://peer2:1112/eureka/

application-peer2

spring.application.name=high-eureka-service
server.port=1112
eureka.instance.hostname=peer2
eureka.client.service-url.defaultZone=http://peer1:1111/eureka/

统一的配置中心

新建项目: config-center

添加依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-server</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>

添加注解

@EnableDiscoveryClient
@EnableConfigServer
@SpringBootApplication

配置配置中心

spring.application.name=config-server
server.port=8888
spring.cloud.config.server.git.uri=http://github.com/liuyiyou/config_center_repository.git
##如果配置中心git仓库是多文件夹方式
spring.cloud.config.server.git.searchPaths=config_repo,config_repo/*
spring.cloud.config.label=master
spring.cloud.config.server.git.username=xxxx
spring.cloud.config.server.git.password=xxxx

配置中心完成

配置中心客户端(其他服务)

新建项目: config-client

添加依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>

添加注解

@EnableDiscoveryClient
@SpringBootApplication

配置客户端

spring.application.name=config-client
#服务注册中心地址: 这个只能放在项目中,而不是放在git仓库中
eureka.client.service-url.defaultZone=http://peer1:1111/eureka
spring.cloud.config.discovery.enabled=true
spring.cloud.config.discovery.serviceId=config-server
spring.cloud.config.profile=dev

需要说明:其他服务注册服务中心的地址必须放到项目的配置文件夹中,因为启动注册中心后,在启动客户端的时候,默认会通过service-url去找到config-server暴露的服务,通过config-server暴露的服务去git仓库中读取其他的配置信息

SpringCloud源码

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容