千家信息网

Nacos v0.7.0中如何对接CMDB实现基于标签的服务发现能力

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章给大家介绍Nacos v0.7.0中如何对接CMDB实现基于标签的服务发现能力,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。摘要: Nacos近期发布了0.7.0版本,该
千家信息网最后更新 2026年11月03日Nacos v0.7.0中如何对接CMDB实现基于标签的服务发现能力

这篇文章给大家介绍Nacos v0.7.0中如何对接CMDB实现基于标签的服务发现能力,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

摘要: Nacos近期发布了0.7.0版本,该版本支持对接第三方CMDB获取CMDB数据、使用Selector机制来配置服务的路由类型、支持单机模式使用MySQL数据库、上线Node.js客户端,并修复了一些bug。


Nacos近期发布了0.7.0版本,该版本支持对接第三方CMDB获取CMDB数据、使用Selector机制来配置服务的路由类型、支持单机模式使用MySQL数据库、上线Node.js客户端,并修复了一些bug。

对接CMDB实现就近访问

cdn.nlark.com/lark/0/2018/png/15356/1544702277705-0bbfca60-6629-477c-92bb-1a690e68f9cd.png">

在服务进行多机房或者多地域部署时,跨地域的服务访问往往延迟较高,一个城市内的机房间的典型网络延迟在1ms左右,而跨城市的网络延迟,例如上海到北京大概为30ms。此时自然而然的一个想法就是能不能让服务消费者和服务提供者进行同地域访问。

Nacos定义了一个SPI接口,里面包含了与第三方CMDB约定的一些方法。用户依照约定实现了相应的SPI接口后,将实现打成jar包放置到Nacos安装目录下,重启Nacos即可让Nacos与CMDB的数据打通。

CMDB插件开发流程

参考 https://github.com/nacos-group/nacos-examples ,这里已经给出了一个示例plugin实现。
具体步骤如下:

  1. 新建一个maven工程,引入依赖nacos-api:

                        com.alibaba.nacos            nacos-api            0.7.0        
  2. 引入打包插件:

                                org.apache.maven.plugins                maven-assembly-plugin                                                            jar-with-dependencies                                                
  3. 定义实现类,继承com.alibaba.nacos.api.cmdb.CmdbService,并实现相关方法。

  1. 在src/main/resource/目录下新建目录:META-INF/services

  1. 在src/main/resources/META-INF/services目录下新建文件com.alibaba.nacos.api.cmdb.CmdbService,并在文件里将第三步中创建的实现类全名写入该文件:

  1. 代码自测完成后,执行命令进行打包:

    mvn package assembly:single -Dmaven.test.skip=true
  2. 将target目录下的包含依赖的jar包上传到nacos CMDB插件目录:

    {nacos.home}/plugins/cmdb
  3. 在nacos的application.properties里打开加载插件开关:

    nacos.cmdb.loadDataAtStart=true
  4. 重启nacos Server,即可加载到您实现的nacos-cmdb插件获取您的CMDB数据。

配置服务路由类型

在控制台上,对服务进行编辑,使用同机房优先策略:

这样配置后,所有访问该服务的消费者,都会实现同机房优先策略。

支持单机模式使用MySQL数据库

在0.7版本之前,在单机模式时nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力,具体的操作步骤:

安装数据库,版本要求:5.6.5+

初始化mysql数据库,数据库初始化文件: nacos-mysql.sql

修改application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。

spring.datasource.platform=mysqldb.num=2db.url.0=jdbc:mysql://11.162.196.16:3306/nacos_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=truedb.url.1=jdbc:mysql://11.163.152.9:3306/nacos_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=truedb.user=nacos_devtestdb.password=youdontknow

再以单机模式启动nacos

sh startup.sh -m standalone

nacos所有写嵌入式数据库的数据都写到了mysql

支持Node.js客户端

在 Java 版本客户端推出之后,我们一直思考多语言版本,在对多语言的调研中,Node.js 的呼声是最高的,不少 Node.js 开发者都期盼着有原生的 Node.js 客户端可以使用。
如今我们推出了第一版客户端,完成了常见的增删改查功能,借由此,向多语言化迈出了第一步。

以nacos-config为例,下面是一个简单的接入说明,具体接入可以参考: https://github.com/nacos-group/nacos-sdk-nodejs

import {NacosConfigClient} from 'nacos';   // tsconst NacosConfigClient = require('nacos').NacosConfigClient; // js// 下面的代码是寻址模式const configClient = new NacosConfigClient({  endpoint: 'acm.aliyun.com', // acm 控制台查看  namespace: '***************', // acm 控制台查看  accessKey: '***************', // acm 控制台查看  secretKey: '***************', // acm 控制台查看  requestTimeout: 6000, // 请求超时时间,默认6s});// 下面的代码是直连模式const configClient = new NacosConfigClient({  serverAddr: '127.0.0.1:8848', // 对端的 ip 和端口,其他参数同寻址模式});// 主动拉取配置const content= await configClient.getConfig('test', 'DEFAULT_GROUP');console.log('getConfig = ',content);

关于Nacos v0.7.0中如何对接CMDB实现基于标签的服务发现能力就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

数据 服务 版本 支持 数据库 模式 客户 客户端 目录 配置 单机 插件 文件 控制 控制台 机房 能力 代码 地域 数据源 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技企业 百单网互联网科技有限公司 互联网科技网 新华互联网科技学院 互联网巨头反垄断金融科技 互联网 视角下的科技创新 深圳市运趣互联网科技有限公司 恒银科技与互联网金融 科技与互联网哪个更好 广州恒生互联网科技有限 宁夏众和广鑫互联网科技有限公司 互联网科技商业 广州新华互联网科技学校电竞方面 互联网在线教育科技创业 互联网第三次科技革命特征 广东工业互联网大赛深圳学泰科技 产业互联网科技服务公司 杭州科技互联网公司有哪些 每日互联网科技新闻 广州全民伙伴互联网科技有限公司 广州淘业互联网络科技 互联网品科技 科技互联网技术 互联网金融 科技创新 金融科技和互联网金融 温州喔噻互联网科技有限公司 搜狐科技互联网 工业互联网山东科技大学 科技和互联网行业的特点 高科技和互联网的现代国家
0