中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-11-23 21:28:46 來源:億速云 閱讀:165 作者:柒染 欄目:云計算

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

Nacos v0.7.0中如何對接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:

            <dependency>
                <groupId>com.alibaba.nacos</groupId>
                <artifactId>nacos-api</artifactId>
                <version>0.7.0</version>
            </dependency>
  2. 引入打包插件:

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <configuration>
                        <descriptorRefs>
                            <descriptorRef>jar-with-dependencies</descriptorRef>
                        </descriptorRefs>
                    </configuration>
                </plugin>
  3. 定義實現類,繼承com.alibaba.nacos.api.cmdb.CmdbService,并實現相關方法。

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

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

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

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

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

  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數據。

配置服務路由類型

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

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西昌市| 陇南市| 田林县| 如东县| 康定县| 信阳市| 色达县| 北宁市| 武乡县| 武宣县| 正镶白旗| 武邑县| 巨鹿县| 新营市| 扶绥县| 宽城| 安义县| 吐鲁番市| 贵港市| 汾西县| 罗田县| 集贤县| 台湾省| 卢湾区| 峨眉山市| 新河县| 芜湖县| 崇仁县| 梅州市| 开阳县| 无极县| 鄂托克前旗| 怀远县| 时尚| 武功县| 双牌县| 连平县| 拜泉县| 东丰县| 湟源县| 高平市|