Spring Cloud - 配置中心

介绍

服务配置的现状:

在微服务系统中,每个微服务不仅仅只有代码,他还需要连接其他资源,例如数据库的配置或功能性的开关等;随着微服务系统的不断迭代,整个微服务系统可能成为一个网状结构,这时候就需要考虑整个微服务系统

的的扩展性、伸缩性、藕合性等;其中一个很重要的环节就是配置管理的问题;

常见的配置类型:

  • 服务配置
    • 数据库配置
    • 缓存配置
    • 消息队列配置
  • 开关配置
    • 功能开发
    • 业务开关
    • 服务开关
  • 业务配置
    • 模块A
    • 模块B

常用配置管理解决方案的缺点:

  • 硬编码
    • 需要修改代码,繁琐,风险大
  • 写在 properties 里面
    • 集群环境下,需要替换和重启
  • 写在 xml 配置文件中,一般和应用一起打包
    • 需要重新打包和重启

为什么要使用 spring cloud config 配置中心:

  • 由于常用的配置管理有很大的缺点,因此 spring cloud 采用了集中式的配置中心来管理每个服务的配置
  • 配置中心,在微服务和分布式系统中,采用服务端和客户端来提供可扩展的配置服务
  • 配置中心负责管理所有的服务的各种环境配置文件,配置服务中心默认采用 Git 的方式存储配置文件,因此我们很容易部署修改,有助于对环境配置进行版本管理

spring cloud config 配置中心,解决了什么问题:

配置中心解决了微服务配置的中心化、版本控制、平台独立、语言独立等问题

特性:

  • 提供服务端和客户端支持
  • 集中式管理分布式环境下的应用配置
  • 基于 Spring 环境,无缝与 Spring 应用集成
  • 可用于任何语言开发的程序
  • 默认实现基于 Git 仓库,可以进行版本管理

本地配置中心

服务端

引入依赖:

<!-- 配置中心 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-server</artifactId>
</dependency>
<!-- eureka 客户端 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

配置 bootstrap.yml:

# 端口
server:
  port: 9100

# spring
spring:
  application:
    name: config
  profiles:
    active: native # 本地配置中心
# eureka
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:8761/eureka/

启动程序添加 @EnableConfigServer@EnableDiscoveryClient 注解:

注意

默认情况下,直接读取 classpath 目录下的配置,可以通过 spring.cloud.config.server.native.search-locations 重新指定本地读取路径;

classpath 下创建配置 provider-dev.properties:

# 应用名称
spring.application.name=provider
# 端口
server.port=8081
# 数据源配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.name=defaultDataSource
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/cmr-provider?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.usern
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暴走编程

您的鼓励将是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值