Nodejs 第八十二章(Nacos动态配置)

什么是动态配置?

在Nacos中,动态配置是指可以在运行时动态修改应用程序的配置信息,而不需要重新启动或重新部署应用程序。通过Nacos的动态配置功能,开发人员可以将应用程序的配置信息存储在Nacos服务器中,并在需要时进行修改和更新。这样,即使应用程序已经在运行,也可以通过修改Nacos中的配置信息来实现配置的更新,从而避免了重新部署的麻烦

举个栗子

image.png

比如我们的服务部署到三个服务器,需要连接数据库,那如果数据库的账号密码或者其他配置项发生变化,我们需要修改配置项,然后重启服务,并且还要重启三次太麻烦了,所以就有了动态配置,这些配置项存储到nacos里面,修改nacos的配置信息来实现动态更新配置项。

案例演示

增删改查 配置项 可视化版本

  1. Data ID 就是一个key

  2. Group 分组

  3. 配置格式 就是你要存储的数据格式

  4. 配置内容 存储的数据

增删改查 配置项 代码版本

  1. publishSingle 新增配置项
  2. remove 删除配置项
  3. getConfig 读取配置项
  4. subscribe 监听配置项变化
import express from 'express'
import { NacosConfigClient } from 'nacos'
const app = express()
const client = new NacosConfigClient({serverAddr: '127.0.0.1:8848',
})
//新增一个配置项
//const content = await client.publishSingle('config', 'DEFAULT_GROUP', '{"host":"127.0.0.1","port":8848}')
//删除一个配置项
//await client.remove('config', 'DEFAULT_GROUP')
//查询一个配置项
//const config = await client.getConfig('config', 'DEFAULT_GROUP')
//监听配置变化
// client.subscribe({ dataId: 'config', group: 'DEFAULT_GROUP', },
//     content => {
//         console.log(content)
//     }
// )app.get('/', async (req, res) => {res.json({code: 200,content: JSON.parse(config)})
})app.listen(3000, () => {console.log('3000Server')
})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/44892.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PTK是如何加密WLAN单播数据帧的?

1. References WLAN 4-Way Handshake如何生成PTK?-CSDN博客 2. 概述 在Wi-Fi网络中,单播、组播和广播帧的加密算法是由AP决定的。其中单播帧的加密使用PTK密钥,其PTK的密钥结构如下图所示: PTK的组成如上图所示,由K…

做一个专业的声音分析系统,需要对声音那些评判标准进行计算

为了构建一个专业的声音分析系统,需要对以下评判标准进行计算。每个标准需要相应的算法和技术指标来实现。下面是一些关键的评判标准和如何计算这些标准的具体方法: 1. 音质 清晰度 信噪比(SNR):计算音频信号中的信…

win11下部署Jenkins,build c#项目

一个c#的项目,由于项目经理总要新版本测试,以前每次都是手动出包,现在改成jenkins自动生成,节省时间。 一、下载Jenkins, 可以通过清华镜像下载Index of /jenkins/windows-stable/ | 清华大学开源软件镜像站 | Tsingh…

模切厂如何选择合适的ERP系统?听说模切行业都是选择点晴模切ERP

选择适合模切行业的ERP系统时,应考虑系统的功能需求、供应商的选择、实施案例、用户评价和技术支持。点晴模切ERP系统因其全面的功能、成熟的架构、可扩展性、业财一体化管理、简便的开发平台和精确的刀模管理,被广泛认为是模切行业的优选。 一、功能需…

前端使用pinia中存入的值

导入pinia,创建pinia实例 使用pinia中的值

数字身份管理发展趋势:访问控制智能化

人工智能和机器学习技术正在大量应用于安全访问控制领域。这些技术可以分析用户行为,并实时监测访问中出现的异常情况,有助于主动识别潜在的安全风险。人工智能和机器学习可以显著提高业务数据和系统被访问过程中的安全性,它们还可以为用户提…

mysql8多值索引

MySQL8新出了一个多值索引,我还没体验过呢,今天试一试。 建表 我先建个表试一试多值索引的效果。我粗略地看了下多值索引的介绍,发现是只适用于数组类型的。所以我建一个含有数组字段的表试一试。语法还是挺麻烦的: create tabl…

2.电容(常见元器件及电路基础知识)

一.电容种类 1.固态电容 这种一般价格贵一些,ESR,ESL比较低,之前项目400W电源用的就是这个,温升能够很好的控制 2.铝电解电容 这种一般很便宜,ESR,ESL相对大一些,一般发热量比较大,烫手。 这种一般比上一个贵一点&am…

PS设计新手如何学习?沈阳PS设计线下培训

对于PS设计新手来说,学习之路可能既充满期待又伴有挑战。为了帮助你高效、系统地掌握Photoshop技能,以下是一些建议: 一、了解基础知识 界面熟悉:打开Photoshop,花时间熟悉工作区域,包括菜单栏、工具箱、面…

[AI Fabric] 解锁AI的未来:深入探索Fabric开源框架

今天看到一个项目,Fabric,我们一起来看下 介绍 fabric 是一个使用人工智能增强人类能力的开源框架。 为什么需要Fabric 因为作者认为,人工智能很强大,不存在能力问题,存在的是集成问题。 Fabric 的创建就是为了解…

原来没分库分表,后期如何分库分表?

MySQL 后期进行分库分表是一项复杂的任务,需要仔细规划和逐步实施。以下是一个详细的步骤指南,帮助你在现有系统上实施分库分表: 1. 分析现有系统 评估当前数据库的表和数据量:确定哪些表的数据量和访问量最大,哪些表…

开源公司网站源码系统,降低成本,提升效率 附带完整的安装代码包以及搭建教程

系统概述 开源公司网站源码系统是一个基于开源技术的网站建设解决方案。它提供了完整的网站框架和功能模块,允许企业快速搭建起一个功能齐全、设计美观的企业网站。该系统不仅降低了网站开发的成本,还大大提高了建设效率,使企业能够更快地将…

深入Scikit-learn:掌握Python最强大的机器学习库

Scikit-learn是一个基于Python的开源机器学习库,广泛用于数据挖掘和数据分析。以下是一些Scikit-learn中常用知识点的代码演示: 1. 导入库和准备数据 # 导入所需的库 from sklearn import datasets from sklearn.model_selection import train_test_sp…

ActiViz中的点放置器vtkPointPlacer

文章目录 1. vtkPointPlacer2. vtkFocalPlanePointPlacer3. vtkPolygonalSurfacePointPlacer4. vtkImageActorPointPlacer5. vtkBoundedPlanePointPlacer6. vtkTerrainDataPointPlacer1. vtkPointPlacer 概述: vtkPointPlacer是一个基类,用于确定在三维空间中放置点的最佳位…

泛微开发修炼之旅--37通过js实现监听下拉框,并触发后端接口,改变其他控件内容的实现方法与源码(含pc端和移动端实现)

文章链接:37通过js实现监听下拉框,并触发后端接口,改变其他控件内容的实现方法与源码(含pc端和移动端实现)

Java Spring 事物处理

一、定义 事务(Transaction)是指作为单个逻辑工作单元执行的一系列操作。操作要么全部成功执行,要么全部失败回滚,以确保数据的一致性和完整性。 二、特性 原子性(Atomicity):事务被视为不可分…

flutter Navigator跳转报错

Navigator operation requested with a context that does not include a Navigator. The context used to push or pop routes from the Navigator must be that of a widget that is a descendant of a Navigator widget. 这个报错是:因为你尝试使用 Navigator 操…

游戏AI的创造思路-技术基础-决策树(2)

上一篇写了决策树的基础概念和一些简单例子,本篇将着重在实际案例上进行说明 目录 8. 决策树应用的实际例子 8.1. 方法和过程 8.1.1. 定义行为 8.1.2. 确定属性 8.1.3. 构建决策树 8.1.4. 实施行为 8.1.5. 实时更新 8.2. Python代码 8. 决策树应用的实际例子…

滑动窗口,最长子序列最好的选择 -> O(N)

最近在学校上短学期课程,做程序设计题,一下子回忆起了大一学数据结构与算法的日子! 这十天我会记录一些做题的心得,今天带来的是对于最长子序列长度题型的解题框架:滑动窗口 本质就是双指针算法: 通过le…

Vue路由传参和接参如何实现

在Vue中,使用Vue Router进行页面路由跳转时,经常需要传递参数到目标页面(组件)并在目标页面(组件)中接收这些参数。Vue Router提供了几种方式来实现路由传参和接参,主要包括通过URL的查询参数&a…