nacos动态配置数据源_Nacos 有哪些典型的应用场景?—— 配置管理篇

本文介绍了 Nacos 配置管理的典型应用场景,包括数据库连接信息的安全管理,动态调整限流阈值和降级开关,以及流量的动态调度。通过将敏感配置存储在 Nacos 中,可以实现配置的动态变更、版本控制和快速回滚,保障数据安全并降低运维成本。同时,文中以 Sentinel 为例展示了如何通过 Nacos 动态控制流量。
摘要由CSDN通过智能技术生成

上篇作为 Nacos 5W1H 系列文章的开篇,从“What” 讲述了 Nacos 配置管理能帮我们解决的问题:以简单、优雅、高效的方式管理配置,实现配置的动态变更,大大降低运维成本。

本文将围绕“Where”,讲述 Nacos 配置管理的三个典型的应用场景:数据库连接信息

限流阈值和降级开关

流量的动态调度

数据库连接信息

曾经有朋友跟我聊过一个问题,“业务飞速发展,团队越来越大,人员流动也相对频繁起来,怎么才能更好的保证数据的安全性,不被泄露呢?”。他提到这样一个场景,公司创立初期,服务后端的代码都是他一行一行码出来的,当时只有他一个人,后端与数据库的连接配置信息也就直接放置在项目的配置文件中。他使用的是 Spring Boot 框架,配置信息就是存放在 application.properties 中,使用 Spring 的 profile 属性保证不同环境连接不同的数据库。如下所示:

生产环境:application-prod.propertiesspring.datasource.url=生产环境的数据库连接地址

spring.datasource.username=生产环境的数据库用户账号

spring.datasource.password=生产环境的数据库用户密码

开发环境:application-dev.propertiesspring.datasource.url=开发环境的数据库连接地址

spring.datasource.username=开发环境的数据库用户账号

spring.datasource.password=开发环境的数据库用户密码

测试、预发环境也是类似。这种将数据库连接信息直接放置在配置文件中,跟着项目代码一起通过 Git 管理,的确是有蛮大的数据泄露的风险。试想,一个新来不久的小伙伴,他一当要投入研发工作,有 Git Pull 代码的权限之后,代表他可能就拥有了直接操作线上数据库的权限了。当时的我给他建议可以通过以下几个方面去降低数据风险:将数据库连接信息等敏感配置从项目中剥离;

数据库增加 IP 白名单连接限制;

最小权限原则:每个账号只配置所必需的权限,避免删表删库等高危操作;

定期修改数据库账号、密码。

回想起来,我当时给的建议并没有完全解决他的问题,甚至还带来了其他一些问题。例如,上述的第一点,“将敏感配置从项目剥离”,剥离出来的敏感配置存放到哪里?怎么管理这些配置呢?也许,你会想到,存放到应用部署机器的环境变量或某个文件中。不,一样有风险,说不定哪天开发同学必须得登录上机器排查问题,就有泄露的风险,总之,得尽可能地做到在整个开发流程都不会有任何泄露的风险。应用中可能不只是连接一个数据源,分库分表的情况&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值