名稱空間
透過名稱空間,可以對不同的專案的不同的模組進行更好的分離和管理,
yml 中透過 sping.cloud.nacos.discovery.namespace=public 來繫結命令空間。
建立服務
可以先建立空服務,等待服務的註冊
服務詳情
服務名:即專案名,對應配置檔案中的 spring.application.name
分組:作用與名稱空間大致相同,不過名稱空間一般用於專案之間的區別,分組一般用作各個開發環境的區別。
永久例項可以透過 ephemeral: false 來設定,對比臨時例項,註冊臨時例項的服務,如果當機了,nacos 會刪除該服務,永久例項不會。
保護閾值:
雪崩保護:填 0~1 的數字,例如設定 0.6。
臨時例項:spring.cloud.nacos.discovery.ephemeral=false,當服務當機了也不會從服務列表中剔除。
當健康例項數/總例項數量 < 保護閾值,依然會使用不健康的例項,防止服務雪崩,後期會結合 sentinel 來對服務進行熔斷和降級。
設定後設資料可以達到只使用 version=1 的服務的效果,需要自己原始碼進行擴充。
權重:結合負載均衡器權重的機制,設定越大,為服務分配的流量越大。
這兩個埠對應的就是 Java 的程式。
Nacos 更多配置
常用配置如下
server:
port: 8021
# 應用名稱(nacos 會自動將該名稱當作服務名稱)
spring:
application:
name: stock-server
cloud:
nacos:
server-addr: 127.0.0.1:8848
discovery:
username: xxxxxx
password: xxxxxx
namespace: public # 相同特徵的服務進行歸類分組管理
ephemeral: false # 永久例項
network-interface: en4 # 當 IP 未配置時,註冊的 IP 為此網路卡配置的額 IP 地址,如果此項也未配置,預設取第一塊網路卡的地址
# service: 預設取${spring.application.name},也可以透過該選項配置
# group: 預設 DEFAULT_GROUP,用來做更細的相同特徵的服務進行歸類分組管理
# weight: 通常要結合 按照 權重的負載均衡策略,權重越高分配流量越高
# ip: 當前服務ip (預設 ip 和 port 都會自動探測到)
# port: 當前服務埠
# metadata: version=1 可以結合後設資料做擴充
本作品採用《CC 協議》,轉載必須註明作者和本文連結