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

相关推荐
程序员cxuan14 分钟前
Claude Code 为了封禁中国用户,竟然在代码里下毒
人工智能·后端·程序员
郡杰20 分钟前
Git基础与开发平台搭建
git·后端
ServBay37 分钟前
MCP (Model Context Protocol) 深度指南,协议原理、Python 实现与生产级安全实践
后端·ai编程·mcp
道友可好1 小时前
Claude Code 泄露源码里的 89 个秘密
前端·人工智能·后端
AI人工智能+电脑小能手2 小时前
【大白话说Java面试题 第155题】【06_Spring篇】第15题:Spring 如何解决循环依赖问题?
java·spring·循环依赖·三级缓存·aop代理
用户8356290780512 小时前
使用 Python 保护和取消保护 Excel 工作表和工作簿
后端·python
Java面试题总结2 小时前
CubeSandbox 实战:从零部署到快照/克隆/回滚全体验
后端
Csvn2 小时前
Python 开发技巧:函数式编程与 lambda 进阶
后端
考虑考虑2 小时前
nginx配置ssl
运维·后端·nginx
uhakadotcom2 小时前
Python 中,`None` 不等于 `False`导致的问题
后端·面试·github