Spring Cloud Alibaba迁移指南(三):极简的 Config

自 Spring Cloud 官方宣布 Spring Cloud Netflix 进入维护状态后,咱们开始制做《Spring Cloud Alibaba迁移指南》系列文章,向开发者提供更多的技术选型方案,并下降迁移过程当中的技术难度。html

第一篇:一行代码从 Hystrix 迁移到 Sentinel
第二篇:零代码替换 Eurekagit

第三篇,咱们一块儿来看看 Spring Cloud Alibaba 是如何使用极简的方式来作到分布式应用的外部化配置,使得应用在运行时动态更新某些配置成为可能。 github

目前关于 Spring Cloud Config 的标准实现开源方面有三个,分别是:spring

  • Spring Cloud Alibaba Nacos Config
  • Spring Cloud Consul Config
  • Spring Cloud Config (Spring Cloud 官方集成的方式)

那面对于这么多的实现,Spring Cloud Alibaba Nacos Config 的实现它具备哪些优点呢?大体从如下几个方面来全方位的分析。app

Spring Cloud Alibaba Nacos Config Spring Cloud Consul Config Spring Cloud Config (Spring Cloud 官方集成的方式)
配置存储 直接依赖于 Nacos。 直接依赖于 Consul。 一般的组合是Config-server 和 git。
配置刷新 无需人工干预,自动秒级刷新。 无需人工干预,自动秒级刷新。 须要人工干预,手动触发/bus/refresh 接口,才能达到配置动态刷新的效果。
是否集成第三方服务 不须要。 不须要。 存储须要依赖于git,刷新依赖于 RabbitMQ 。
运维组件 只须要运维 Nacos 自己便可。 只须要运维 Consul自己。 一般是要运维 Config-erver,MQ 的服务,提供存储能力的 Git。
比较重的第三方依赖 无,直接引入starter 便可 。 无,直接引入 starter 便可。 不只须要引入 starter,并且还须要引入配置刷新依赖的 spring-cloud-starter-bus-amqp 。
推送状态 支持
更新历史查询 支持
配置回滚 支持
配置加解密 支持 待确认 待确认
多重容灾 支持

同时 Spring Cloud Alibaba 还能够基于 Spring Cloud Alibaba Nacos Config 无缝对接云上的 ACM,这给一些须要上云的用户带来了极其的方便。综上全方位的对比,Spring Cloud Alibaba Nacos Config 无疑提供了性价比最高的 Spring Cloud Config 的开源实现。运维

下面以一个快速上手的案例体验一下 Spring Cloud Alibaba Nacos Config 的实现是如何使用的。同时也提供了简单的方式给那些想转用 Spring Cloud Alibaba Nacos Config 的同窗作一些参考。maven

第 1 步:Nacos 服务端初始化。分布式

1.1 启动 Nacos Server。启动方式可见 Nacos 官网 。
1.2 添加配置。启动好 Nacos 以后,在 Nacos 控制台添加以下的配置。ui

Data ID:    ${spring.application.name}.properties

Group  :    DEFAULT_GROUP

配置格式:    Properties

配置内容:    ${key}=${value}

__注意__:code

  • Data Id 是以 properties(默认的文件扩展名方式)为扩展名。
  • 文件名以 ${spring.application.name} 配置参数为主。
  • 配置内容:当你想从其余的存储源(例如: git) 要往 Nacos 进行迁移的话,目前只能经过手动的方式进行逐个的添加。${key} 是根据您的业务场景须要配置的或者迁移的 key, ${value} 就是对应的具体值。

第 2 步:Spring Cloud Alibaba Nacos Config 客户端使用方式。

2.1 添加 maven 依赖。为了可以在应用程序中使用 Nacos 来实现应用的外部化配置,在构建应用的同时或者已经存在的应用须要引入一个 Starter,以下所示:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    <version>0.2.2.BUILD-SNAPSHOT</version>
</dependency>

2.2 添加相关配置。客户端须要和 Nacos 服务端进行通讯,所以须要配置 Nacos 服务端的地址。在您的应用配置文件中新增以下配置,这里以 application.properties 为例。

spring.cloud.nacos.config.server-addr=127.0.0.1:8848

完成以上两个步骤,就已经完成了 Spring Cloud Alibaba Nacos Config 的基本使用。完整的使用可参考 Spring Cloud Alibaba 的管方 Wiki 文档



本文做者:中间件小哥

阅读原文

本文为云栖社区原创内容,未经容许不得转载。

相关文章
相关标签/搜索