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

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

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

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

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

那面对于这么多的实现,Spring Cloud Alibaba Nacos Config 的实现它具有哪些优势呢?大致从以下几个方面来全方位的分析。

  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 的同学做一些参考。

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

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

Data ID:    ${spring.application.name}.propertiesGroup  :    DEFAULT_GROUP配置格式:    Properties配置内容:    ${key}=${value}

__注意__:

  • 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 的基本使用。

#阿里云开年Hi购季#幸运抽好礼!
点此抽奖:https://www.aliyun.com/acts/product-section-2019/yq-lottery?utm_content=g_1000042901

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

Spring Cloud Alibaba迁移指南(三):极简的 Config相关推荐

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

    自 Spring Cloud 官方宣布 Spring Cloud Netflix 进入维护状态后,我们开始制作<Spring Cloud Alibaba迁移指南>系列文章,向开发者提供更多 ...

  2. Spring Cloud Alibaba迁移指南(四):零代码兼容 Api-Gateway

    自 Spring Cloud 官方宣布 Spring Cloud Netflix 进入维护状态后,我们开始制作<Spring Cloud Alibaba迁移指南>系列文章,向开发者提供更多 ...

  3. Spring Cloud Alibaba迁移指南(四):零代码兼容 Api-Gateway 1

    自 Spring Cloud 官方宣布 Spring Cloud Netflix 进入维护状态后,我们开始制作<Spring Cloud Alibaba迁移指南>系列文章,向开发者提供更多 ...

  4. Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel

    自 Spring Cloud 官方宣布 Spring Cloud Netflix 进入维护状态后,我们开始制作<Spring Cloud Alibaba迁移指南>系列文章,向开发者提供更多 ...

  5. Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel 1

    摘要: 本文对Hystrix.Resilience4j.Sentinel进行对比,并探讨如何使用一行代码这种极简的方式,将Hystrix迁移到Sentinel. Hystrix 自从前段时间 宣布停止 ...

  6. Spring Cloud Alibaba迁移指南(二):零代码替换 Eureka

    为什么80%的码农都做不了架构师?>>>    自 Spring Cloud 官方宣布 Spring Cloud Netflix 进入维护状态后,我们开始制作<Spring C ...

  7. Spring Cloud Alibaba迁移指南2:一行代码从Hystrix迁移到Sentinel

    作者:洛夜,校对:周立 在本博客首发,欢迎转载. 前段时间,Netflix宣布Hystrix进入维护模式,详见Hystrix停止开发,我们该何去何从?,而Spring Cloud亦宣布Spring C ...

  8. eureka需要替换吗_Spring Cloud Alibaba迁移指南1:零代码从Eureka迁移到Nacos

    作者:得少,校对:周立. 在本号首发,欢迎转载. Spring Cloud官方宣布Spring Cloud Netflix进入维护状态,后续不再会有新的功能已成为事实. 作为开发者,如何使用极简的方式 ...

  9. Spring Cloud Alibaba学习指南

    文章目录 背景 介绍 主要功能 主要组件 参考文档 Spring Cloud Alibaba github Spring Boot & Spring Cloud & Spring Cl ...

最新文章

  1. python调用c#注意事项_python 调用c# 超级直接示例
  2. Neuroph studio max net
  3. Python代码发送post请求接口测试--转载
  4. python list删除元素_python中List添加、删除元素的几种方法
  5. 如何让html重点表单自动对齐,html – 如何对齐多个表单元素?
  6. a as as big rat_超好玩!12句英语绕口令,你能一口气读完几句?
  7. 后台数据到mysql怎样保持实时更新_MySQL是如何保证数据的完整性
  8. 开放世界下的混合域适应 ——面向真实自然场景下的全新迁移学习范式
  9. Linux下Wireshark的Lua: Error during loading 和 couldn't run /usr/bin/dumpcap in child process 的解决方案
  10. SqlMap异常的处理
  11. Ubuntu下配置使用maven
  12. 使用程序简单查询IP地址
  13. 蓝牙耳机连接电脑没有声音解决办法
  14. 普元 EOS Platform 7.6 Studio导出流程par包,在workspace中导入报错:租户令牌不正确,部署失败
  15. anylogic和java_Anylogic各个版本的功能对比
  16. 复制或粘贴内容到含有隐藏单元格的区域时如何只复制或粘贴可见单元格
  17. 硬盘安装manjaro linux,安装Manjaro Linux的详细步骤
  18. ERROR ITMS-4238
  19. 简洁的python复习(原创基础上有部分改动,持续更新)
  20. 9 循环神经网络——具有记忆功能的网络(2)

热门文章

  1. 计量经济学计算机输出结果,计量经济学作业答案A..doc
  2. mac adb 找不到设备_win/Mac办公软件下载找不到资源?试试这三个强大的神器
  3. 操作系统中死锁避免算法 --- 银行家算法
  4. zynq中mgtx应用_Zynq7000系列之芯片引脚功能综述
  5. c++ 写x64汇编 5参数_怀念9年前用纯C和汇编写的入侵检测软件
  6. @select注解_SSM框架(十三):Spring框架中的IoC(3)新注解,完全摆脱xml文件
  7. tabulate matlab,matlab中用于统计矩阵数据频率,出现次数的函数
  8. 程序员是向左走,还是向右走!
  9. 推荐系统--矩阵分解(2)
  10. linux netstat服务,linux netstat查看服务和端口状态