SpringCloud使用Nacos作为配置中心实现动态数据源切换

一、Nacos-Server

了解Nacos可以直接阅读官方文档

使用Nacos,我们需要有Nacos-Server,此处就不使用官方提供的release版本了,而是自己编译,因为本来就是Java开发的,所以对于Javaer来说也没啥难度!

sh 复制代码
git clone https://github.com/alibaba/nacos.git
cd nacos
git checkout 2.2.4
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U

只需要四行命令,即可实现编译,要求编译时有网络环境。

之后,进入到distribution/target,即可获取压缩包。

解压后,进入bin目录,执行命令启动nacos服务即可

sh 复制代码
startup.cmd -m standalone

二、SpringCloud

2.1 版本对应关系

官方文档里倒是提到了springboot、springcloud、springcloudalibaba之间的对应关系,但是由于文档更新存在不及时问题。因此,版本对应关系,可以直接使用阿里提供的脚手架

2.2 实现动态数据源切换

"Talk is cheap. Show me the code.",直接上源码

核心在于@RefreshScope这个注解,被该注解标识后,表示这个Bean在运行时是可刷新的。并且所有基于该Bean的依赖也会被刷新,这些复杂的工作都是springcloud做的,开发者不需要关心。

整体流程如图所示

至于Nacos如何配置,参照Nacos 融合 Spring Cloud,成为注册配置中心 | Nacos

展示一下最后的成果。

三、参考

alibaba/nacos: an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.

Nacos 快速开始 | Nacos

Nacos 融合 Spring Cloud,成为注册配置中心 | Nacos

Cloud Native App Initializer

Cloud Native App Initializer

相关推荐
无名之辈J1 分钟前
系统崩溃(OOM)
后端
码农刚子10 分钟前
ASP.NET Core Blazor简介和快速入门 二(组件基础)
javascript·后端
间彧11 分钟前
Java ConcurrentHashMap如何合理指定初始容量
后端
catchadmin20 分钟前
PHP8.5 的新 URI 扩展
开发语言·后端·php
少妇的美梦23 分钟前
Maven Profile 教程
后端·maven
白衣鸽子28 分钟前
RPO 与 RTO:分布式系统容灾的双子星
后端·架构
Jagger_37 分钟前
SOLID原则与设计模式关系详解
后端
间彧41 分钟前
Java: HashMap底层源码实现详解
后端
这里有鱼汤1 小时前
量化的困局:当所有人都在跑同一个因子时,我们还能赚谁的钱?
后端·python
武子康1 小时前
大数据-130 - Flink CEP 详解 - 捕获超时事件提取全解析:从原理到完整实战代码教程 恶意登录案例实现
大数据·后端·flink