久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Nacos v0.7.0中如何對接CMDB實現基于標簽的服務發現能力

201次閱讀
沒有評論

共計 3017 個字符,預計需要花費 8 分鐘才能閱讀完成。

這篇文章給大家介紹 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 實現就近訪問

在服務進行多機房或者多地域部署時,跨地域的服務訪問往往延遲較高,一個城市內的機房間的典型網絡延遲在 1ms 左右,而跨城市的網絡延遲,例如上海到北京大概為 30ms。此時自然而然的一個想法就是能不能讓服務消費者和服務提供者進行同地域訪問。

Nacos 定義了一個 SPI 接口,里面包含了與第三方 CMDB 約定的一些方法。用戶依照約定實現了相應的 SPI 接口后,將實現打成 jar 包放置到 Nacos 安裝目錄下,重啟 Nacos 即可讓 Nacos 與 CMDB 的數據打通。

CMDB 插件開發流程

參考
https://github.com/nacos-group/nacos-examples
,這里已經給出了一個示例 plugin 實現。
具體步驟如下:

新建一個 maven 工程,引入依賴 nacos-api:

  dependency 
  groupId com.alibaba.nacos /groupId 
  artifactId nacos-api /artifactId 
  version 0.7.0 /version 
  /dependency

引入打包插件:

  plugin 
  groupId org.apache.maven.plugins /groupId 
  artifactId maven-assembly-plugin /artifactId 
  configuration 
  descriptorRefs 
  descriptorRef jar-with-dependencies /descriptorRef 
  /descriptorRefs 
  /configuration 
  /plugin

定義實現類,繼承 com.alibaba.nacos.api.cmdb.CmdbService,并實現相關方法。

Nacos v0.7.0 中如何對接 CMDB 實現基于標簽的服務發現能力

在 src/main/resource/ 目錄下新建目錄:META-INF/services

Nacos v0.7.0 中如何對接 CMDB 實現基于標簽的服務發現能力

在 src/main/resources/META-INF/services 目錄下新建文件 com.alibaba.nacos.api.cmdb.CmdbService,并在文件里將第三步中創建的實現類全名寫入該文件:

Nacos v0.7.0 中如何對接 CMDB 實現基于標簽的服務發現能力

代碼自測完成后,執行命令進行打包:

mvn package assembly:single -Dmaven.test.skip=true

將 target 目錄下的包含依賴的 jar 包上傳到 nacos CMDB 插件目錄:

{nacos.home}/plugins/cmdb

在 nacos 的 application.properties 里打開加載插件開關:

nacos.cmdb.loadDataAtStart=true

重啟 nacos Server,即可加載到您實現的 nacos-cmdb 插件獲取您的 CMDB 數據。

配置服務路由類型

在控制臺上,對服務進行編輯,使用同機房優先策略:

Nacos v0.7.0 中如何對接 CMDB 實現基于標簽的服務發現能力

這樣配置后,所有訪問該服務的消費者,都會實現同機房優先策略。

支持單機模式使用 MySQL 數據庫

在 0.7 版本之前,在單機模式時 nacos 使用嵌入式數據庫實現數據的存儲,不方便觀察數據存儲的基本情況。0.7 版本增加了支持 mysql 數據源能力,具體的操作步驟:

安裝數據庫,版本要求:5.6.5+

初始化 mysql 數據庫,數據庫初始化文件:
nacos-mysql.sql

修改 application.properties 文件,增加支持 mysql 數據源配置(目前只支持 mysql),添加 mysql 數據源的 url、用戶名和密碼。

spring.datasource.platform=mysql
db.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_devtest
db.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 實現基于標簽的服務發現能力就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-25發表,共計3017字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 宜良县| 福建省| 灵丘县| 台北县| 汤阴县| 藁城市| 广灵县| 浪卡子县| 白山市| 大同市| 当阳市| 勃利县| 宜章县| 加查县| 东台市| 游戏| 吴川市| 翁牛特旗| 桃源县| 常熟市| 青神县| 鹤壁市| 昌乐县| 兴海县| 沽源县| 凤城市| 漳平市| 寿宁县| 石台县| 大悟县| 濮阳县| 留坝县| 镇远县| 乃东县| 卢氏县| 米脂县| 阿克苏市| 兴业县| 旬阳县| 调兵山市| 东莞市|