日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

什么是Nacos?Nacos注册配置中心介绍

發布時間:2025/3/12 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 什么是Nacos?Nacos注册配置中心介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、什么是Nacos

英文全稱Dynamic Naming and Configuration Service,Na為naming/nameServer即注冊中心,co為configuration即注冊中心,service是指該注冊/配置中心都是以服務為核心。服務在nacos是一等公民

二、Nacos原理


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?nacos簡單介紹


Nacos注冊中心分為server與client,server采用Java編寫,為client提供注冊發現服務與配置服務。而client可以用多語言實現,client與微服務嵌套在一起,nacos提供sdk和openApi,如果沒有sdk也可以根據openApi手動寫服務注冊與發現和配置拉取的邏輯


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?nacosnacos服務領域模型


Nacos服務領域模型主要分為命名空間、集群、服務。在下圖的分級存儲模型可以看到,在服務級別,保存了健康檢查開關、元數據、路由機制、保護閾值等設置,而集群保存了健康檢查模式、元數據、同步機制等數據,實例保存了該實例的ip、端口、權重、健康檢查狀態、下線狀態、元數據、響應時間。這些數據的作用會在第三章講到

2.1注冊中心原理

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?nacos服務注冊原理


服務注冊方法:以Java nacos client v1.0.1 為例子,服務注冊的策略的是每5秒向nacos server發送一次心跳,心跳帶上了服務名,服務ip,服務端口等信息。同時 nacos server也會向client 主動發起健康檢查,支持tcp/http檢查。如果15秒內無心跳且健康檢查失敗則認為實例不健康,如果30秒內健康檢查失敗則剔除實例。

2.2 配置中心原理

三、 Nacos使用方法

3.1創建命名空間

不同的命名空間邏輯上是隔離的,不特殊設置的情況下,服務不會跨命名空間請求,命名空間主要的作用是區分服務使用的范圍,比如開發、測試、生產、灰度可以分別設置四個命名空間來互相隔離。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?nacos新建命名空間


如圖所示,在控制臺的 按鈕可以創建新的命名空間,命名空間創建后,會在列表顯示,這個ID后面會用在服務的配置文件中

3.2在服務上配置注冊、配置中心

以springcloud為例,首先用maven導入nacos clinet的依賴:

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId><version>0.2.1.RELEASE</version><exclusions><exclusion><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>0.2.1.RELEASE</version><exclusions><exclusion><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId></exclusion></exclusions></dependency>

先導入springcloud的alibaba-nacos-config和alibaba-nacos-discovery兩個依賴,這兩個依賴是用于nacos clinet與cloud結合的工具,0.2.x對應springboot 2.x.x ,0.1.x對應springboot 1.x.x。這兩個組件可以和各種版本的nacos-client結合。把其中的nacos-clinet依賴給排除,引入想要引入的nacosclinet版本,如下:

<!-- https://mvnrepository.com/artifact/com.alibaba.nacos/nacos-client --><dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId><version>1.0.1</version></dependency>

在bootstrap.properties上添加配置中心的配置

spring.cloud.nacos.config.server-addr=nacos.e.189.cn:80 spring.cloud.nacos.config.namespace=命名空間id

在application-xxx.properties新增如下配置

spring.cloud.nacos.discovery.server-addr=nacos.e.189.cn:80 spring.cloud.nacos.discovery.namespace=命名空間id

如果springboot啟動類沒有@EnableDiscover注解則加上
完成如上更改,即可使用Nacos注冊/配置服務

3.3服務間使用feign調用

演示:
使用Feign、Ribbon均可,在這不做過多介紹

3.4通過配置更改動態刷新參數

普通application參數在配置中心直接配置皆可,如果需要可以動態刷新的配置,需要在相應類上加上@RefreshScope注解,示例如下,當在nacos配置中心更改配置后,方法getId的值也會刷新。

@RefreshScope public class IdEntity {@Value("${id}")private int id;public int getId(){return this.id;} }

配置中心參數修改/設置
如下兩張圖:在nacos控制臺的配置管理-配置列表中頂部選擇相應的命名空間,點擊列表右上角的加號新增配置,Data ID 為 項目名-{spring.profiles.active}.properties,Group如果在bootstrap.properties中不指定則填默認的DEFAULT_GROUP,描述寫該配置的描述,配置內容填寫Properties格式或者Yaml格式。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?nacosnacos控制臺-配置管理


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?nacosnacos控制臺-新建配置


3.5 nacos其他功能使用與介紹

控制臺手動上下線實例

在控制臺的服務管理-服務列表選擇一個服務點擊詳情,在下方的集群列表可以看到有上線/下線按鈕,點擊即可以對該實例執行上線/下線操作,下線后的實例不會被請求

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?nacos控制臺手動上下線


配置實例權重

可以通過手動配置權重來控制流量,當一個集群內兩個實例,權重越高,到達該實例的請求比例越多。

權重的初始值是1

配置保護閾值

保護閾值的范圍是0~1
服務的健康比例=服務的健康實例/總實例個數
當服務健康比例<=保護閾值時候,無論實例健不健康都會返回給調用方
當服務健康比例>保護閾值的時候,只會返回健康實例給調用方
服務管理-服務列表選擇一個服務點擊詳情可以配置

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的什么是Nacos?Nacos注册配置中心介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。