背景
在常见的微服务架构中,注册中心(服务发现组件)和配置中心(配置管理组件)是必不可少的。注册中心具备服务注册、服务发现及服务检查等功能;配置中心则用于存放各类配置供服务消费者使用。相关的介绍已经有很多了,这里不再赘诉。从微服务的单一职责角度,这两者通常是分开部署,配置中心将自己注册到注册中心来提供高可用的配置获取功能。本文将介绍另一种方式,即注册中心与配置中心整合,一起部署。这样的好处是可以一台实例同时提供服务发现以及配置管理等功能,节约部署成本。
实现
本文以spring cloud框架为基础,采用eureka作为注册中心;使用spring cloud config提供配置管理功能其中配置文件放在本地(配置中心有很多中配置方式,为了简单方便可以使用本地存放)
。整合过后的注册中心和配置中心称之为eureka-config-center
。通过maven进行依赖管理。
本文的所有代码托管在https://github.com/Hxuhao233/spring-cloud-demo
目录结构
eureka-config-center
| —— src
| —— main
| —— java # Java代码
| —— resources # 配置
| —— config # 配置中心所管理的配置
| | —— dev
| | | —— mysql.properties
| | —— test
| —— application.properties # eureka-config-center的配置
依赖引入
由于要整合注册中心和配置中心,所以二者的相关依赖需要一起引入
pom.xml
中关键的配置如下
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.8.RELEASE</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>