Config分布式配置中心

    科技2024-08-10  24

    微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以一套集中式的、动态的配置管理设施是必不可少的。SpringCloud提供了ConfigServer来解决这个问题,我们每一个微服务自己带着一个application.yml,上百个配置文件的管理 能干嘛: 1, 集中管理配置文件 2,不同环境不同配置,动态化的配置更新,分环境部署比如 dev/test/prod/beta/release 3,运行期间动态调整配置,不再需要在每个服务部署的机器上编写配置文件,服务会向配置中心统一拉取配置自己的信息,当配置发生变动时,服务不需要重启即可感知到配置的变化并应用新的配置,将配置信息以REST接口的形式暴露。

    与GitHub整合配置 由于SpringCloud Config默认使用Git来存储配置文件(也有其它方式,比如支持SVN和本地文件),但最推荐的还是Git,而且使用的是http/https访问的形式 1,SpringCloud Config服务端配置 用自己的GitHub账号在GitHub上新建一个名为microservicecloud-config的新Repository 2,由上一步获得SSH协议的git地址 https://github.com/wyq123123123/microservicecloud-config.git 3,本地硬盘目录上新建git仓库并clone 随便建一个仓库,在仓库里右键点击git bash here

    git命令:git clone https://github.com/wyq123123123/microservicecloud-config.git

    4,将上一步的YML文件推送到github上 1.git add . 注意此处有一个点,看清楚咯。 2.git commit -m “init yml” 3.git push origin master 然后在刷新GitHub。

    5,新建Module模块microservicecloud-config-3344它即为Cloud的配置中心模块,添加pom:

    <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency> 郁闷了:

    yml:

    server: port: 3344 spring: application: name: microservicecloud-config cloud: config: server: git: uri: https://github.com/wyq123123123/microservicecloud-config.git #GitHub上面的git仓库名字

    6,主启动类:

    package com.yc.springcloud; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.config.server.EnableConfigServer; @SpringBootApplication @EnableConfigServer public class Config_3344_StartSpringCloudApp { public static void main(String[] args) { SpringApplication.run(Config_3344_StartSpringCloudApp.class,args); } }

    7,windows下修改hosts文件,增加映射

    C:\Windows\System32\drivers\etc路径下的hosts文件添加127.0.0.1 config-3344.com

    启动微服务3344 1,http://config-3344.com:3344/application-dev.yml 2,http://config-3344.com:3344/application-test.yml 3,http://config-3344.com:3344/application-test.yml

    Processed: 0.009, SQL: 8