簡介
nacos是阿里團隊使用Java開發,nacos致力於發現、配置和管理微服務。nacos提供了一組簡單易用的特性集,可以快速實現動態服務發現、服務配置、服務元數據以及流量管理。
nacos可以更敏捷和容易地構建、交付和管理微服務平台。nacos是構建以“服務”為中心的現代應用架構(微服務范式、雲原生范式)的服務基礎設施。
nacos幾乎支持所有主流類型的“服務”的發現、配置和管理。比如:
kubernetes
RPC&Dubbo RPC
Spring Cloud
關鍵特性
nacos的關鍵特性包括:
1、服務發現和服務健康監測
nacos支持基於DNS和基於RPC的服務發現。服務提供者使用原生SDK、openapi、或者一個獨立的agent TODO注冊service后,服務消費者可以使用DNS TODO或者HTTP&API查找和發現服務。
nacos提供對服務的實時的健康檢查,阻止向不健康的主機或服務實例發送請求。nacos支持傳輸層和應用層的健康檢查,對於復雜的雲環境和網絡拓撲環境中服務的健康檢查,nacos提供了agent上報模式和服務端主動檢測2種健康模式。nacos還提供了統一的健康檢查儀表盤,幫助您根據健康檢查狀態管理服務的可用性以及流量。
2、動態配置服務
動態配置服務可以以中心化、外部化和動態化的方式管理所所有環境的應用配置和服務配置。
動態配置消除了配置變更時重新部署應用和服務的需要,讓配置管理變的更加高效和敏捷。
配置中心化管理讓實現無狀態服務變的更簡單,讓服務按需彈性擴展變得更加容易。
nacos提供了一個簡潔易用的UI,幫助管理所有的服務和應用的配置。nacos還提供包括配置版本跟蹤、金絲雀發布、一鍵回滾配置以及客戶端配置更新狀態跟蹤在內的一系列開箱即用的配置管理特性,更安全的在生產環境中管理配置變更和降低配置帶來的風險。
3、動態DNS服務
動態DNS服務支持權重路由、可以更容易地實現中間層負載均衡、更靈活的路由策略、流量控制以及數據中心內網的簡單DNS解析服務。動態DNS服務還能更容易實現以DNS協議為基礎的服務發現。
4、服務及其元數據管理
nacos能從微服務平台建設的視角管理數據中心的所有服務以及元數據,包括管理服務的描述、生命周期、服務的靜態依賴分析、服務的健康狀態、服務的流量管理、路由以及安全策略、服務的SLA以及最主要的metrics統計數據。
功能圖
生態圖
nacos概念
地域 物理的數據中心,資源創建成功后不能更換
可用區 同一地域內,電力和網絡互相獨立的物理區域。同一可用區內,實例的網絡延遲較低。
接入點 地域的某個服務的入口域名。
命名空間 用於進行租戶粒度的配置隔離。不同的命名空間下,可以存在相同的group或data id配置。
namespace的常用場景之一是不同環境的配置的區分隔離,例如開發測試環境和生產環境的資源 (如配置、服務)隔離等。
配置 在系統開發過程中,開發者通常會將一些需要變更的參數、變量等從代碼中分離出來獨立管理,以獨立的配置文件的形式存在。目的是讓靜態的系統工件或者交付物(如tar、war包)更好的和實際的物理運行環境進行適配。配置管理一般包含在系統部署的過程中,由系統管理員或者運維人員完成。配置變更時調整系統運行時的行為的有效手段。
配置管理 系統配置的編輯、存儲、分發、變更管理、歷史版本管理、變更審計等所有與配置相關的活動。
配置項 一個具體的可配置的參數與其值域,通常以 param-key=param-value 的形式存在。例如在系統常配置的日志輸出級別(logLevel=INFO|WARN|ERROR)就是一個配置項。
配置集
配置集ID nacos中的某個配置集的ID。配置集ID是組織划分配置的維度之一。data ID 通常用於組織划分系統的配置集。一個系統或者應用可以包含多個配置集,每個配置集都可以被一個有意義的名稱標識。data id 通常采用java類包的命名規則(如 com.taobao.tc.refund.log.level)保證全局唯一性,此命名規則非強制性。
配置分組 nacos中的一組配置集,是組織配置的維度之一。通過一個有意義的字符串,對配置集進行分組,從而區分data id 相同的配置集。當在nacos上創建一個配置時,如果未填寫配置分組的名稱,則配置分組的名稱默認采用DEFAULT_GROUP 。配置分組的常見場景:不同的應用或組件使用了相同的配置類型,比如database_url配置和MQ_topic配置。
配置快照
nacos的客戶端SDK會在本地生成配置的快照。當客戶端無法連接到nacos server時,可以使用配置快照顯示系統的整體容災能力。配置快照類似於git中的本地commit,也類似於緩存,會在適當的時機更新,但是並沒有緩存過期的概念。
服務 通過預定義接口網絡訪問的提供給客戶端的軟件功能。
服務名 服務提供的標識,通過該標識可以唯一確定其指代的服務。
服務注冊中心 存儲服務實例和服務負載均衡策略的數據庫。
服務發現 在計算機網絡中,對服務下的實例的地址和元數據進行探測,並以預先定義的接口提供給客戶端進行查詢。
元信息 nacos數據(如配置和服務)描述信息,如服務版本、權重、容災策略、負載均衡策略、鑒權策略、各種自定以標簽,從作用范圍來看,分為服務級別的元信息、集群的元信息以及實例的元信息。
應用 用於標識服務提供放的服務的屬性。
服務分組 不同的服務可以歸類到同一分組。
虛擬集群 同一個服務下的所有服務實例組成一個默認的集群,集群可以被進一步按需求划分,划分的單位可以是虛擬集群。
實例 提供一個或多個服務的具有可訪問網絡地址的進程。
權重 實例級別的配置。權重為浮點數。權重越大,分配給該實例的流量越大。
健康檢查 以指定方式檢查服務下掛載的實例的健康度,從而確認該實例是否能提供服務。根據檢查結果,實例會被判斷為健康或不健康。對於服務發起解析請求時,不健康的實例不會返回給客戶端,
健康保護閾值 為了防止因過多實例不健康導致流量全部流向健康實例,繼而造成流量壓力把健康實例壓垮並形成雪崩效應,應將健康保護閾值定義為一個0到1之家的浮點數。當域名健康實例占總服務實例的比例大小於該值時,無論實例是否健康,都會將這個實例返回給客戶端。這樣做雖然會損失一部分流量,但是保證了集群的剩余健康實例能正常工作。
作用
使用nacos簡化服務發現、配置管理、服務治理以及管理的解決方案,讓微服務的發現、管理、共享、組合更加容易。
動態配置服務
動態配置服務能夠以中心化、外部化和動態化的方式管理所有環境的配置。動態配置消除了配置變更時重新部署應用和服務的需要。配置中心管理讓實現無狀態服務更簡單,也讓按需彈性擴展服務更容易。
服務發現及管理
動態服務發現對以服務為中心的應用架構方式非常關鍵。nacos支持DNS-based和RPC-based模式的服務發現,nacos也提供實時健康檢查,以防止將請求發往不健康的主機或服務實例。借助nacos可以更容易地為服務實現斷路器。
動態DNS服務
通過支持權重路由,動態DNS服務能輕松實現中間層負載均衡、更靈活的路由策略、流量控制以及簡單數據中心內網的簡單DNS解析服務。動態DNS服務還能更容易以DNS協議為基礎的服務發現,以消除耦合到廠商私有服務發現API上的風險。
架構
基本架構及概念
服務
服務是指一個或一組軟件功能(例如特定信息的檢索或一組操作的執行),其目的是不同的客戶端可以為不同的目的重用(例如通過跨進程的網絡調用)。nacos支持主流的服務生態,如kebernetes service等。
服務注冊中心
服務注冊中心,他是服務,其實例及元數據的數據庫。服務實例在啟動時注冊到服務注冊表,並在關閉時注銷。服務和路由器的客戶端查詢服務注冊表以查詢服務的可用實例。服務注冊中心可能會調用服務實例的健康檢查API來驗證它是否能夠處理請求。
服務元數據
服務元數據是指包括服務端點、服務標簽、服務版本號、服務實例權重、路由規則、安全策略等描述服務的數據。
服務提供方
是指提供可復用和可調用服務的應用方
服務消費方
是指會發起對某個服務調用的應用方
配置
在系統開發過程中通常會將一些需要變更的參數、變量等從代碼中分離出來獨立管理,以獨立的配置文件的形式存在,目的是讓靜態的系統工件或交付物更好地和實際的物理運行環境進行適配。配置管理一般包含在系統部署的過程中,由系統管理員或運維人員完成這個步驟。配置變更是調整系統運行時的行為的有效手段之一。
配置管理
在數據中心,系統中所有配置的編輯、存儲、分發、變更管理、歷史版本管理、變更審計等所有與配置相關的活動統稱為配置管理。
配置服務
在服務或應用運行過程中,提供動態配置或者元數據以及配置管理的服務提供者。
邏輯架構圖及組件
服務管理 實現服務CRUD、域名CRUD、服務健康狀態檢查,服務權重管理等功能。
配置管理 實現配置管理CRUD,版本管理、灰度管理、監聽管理、推送管理、聚合數據等功能
元數據管理 提供元數據CURD和打標能力
插件機制 實現三個模塊可分可合能力,實現擴展SPI機制
事件機制 實現異步化事件通知,sdk數據變化異步通知等邏輯
日志模塊 管理日志分類,日志級別,日志可移植性,日志格式,異常碼+幫助文檔
回調機制 sdk通知數據,通過統一的模式回調用戶處理。接口和數據結構需要具備可擴展性。
尋址模塊 解決IP,域名,nameserver、廣播等多種尋址模式、需要可擴展。
推送通道 解決server與存儲、server間、server與sdk間推送問題
容量管理 管理每個租戶,分組下的容量,防止存儲被寫爆,影響服務可用性。
流量管理 按照租戶,分組等多個維度對請求頻率,長連接個數,報文大小,請求流控進行控制
緩存機制 容災目錄,本地緩存,server緩存機制。容災目錄需要使用工具
啟動模式 按照單機模式,配置模式,服務模式下,dns模式或者all模式,啟動不同的程序+UI
一致性協議 解決不通數據,不同一致性要求情況下,不同一致性機制
存儲模塊 解決數據持久化、非持久化存儲,解決數據分片問題
nameserver 解決namespace到clusterid的路由問題,解決用戶環境與nacos物理環境映射問題
CMDB 解決元數據存儲與三方cmdb系統對接問題,解決應用,人,資源關系
Metrics 暴露標准metrics數據,方便與三方監控系統打通
trace 暴露標准trace,方便與SLA系統打通,日志白平化,推送軌跡等能力,並且可以和計量計費系統打通
接入管理 相當於阿里雲開通服務,分配身份、容量、權限過程
用戶管理 解決用戶管理,登錄,sso等問題。
權限管理 解決身份識別,訪問控制,角色管理等問題
審計系統 擴展接口方便與不同公司審計系統打通
通知系統 核心數據便更或者操作,方便通過SMS系統打通,通知到對應人數據變更
openAPI 暴露標准rest風格http接口,簡單易用,方便多語言集成。
console 易用控制台,做服務管理、配置管理等操作。
SDK 多語言sdk
agent dns-f類似模式,或者與mesh等方案集成
CLI 命令行對產品進行輕量化管理,像git一樣好用。
領域模型
數據模型
nacos 數據模型key由三元組唯一確定,namespace默認是空串,公共命名空間(public),分組默認是DEFAULT_GROUP
服務領域模型
配置領域模型
圍繞配置,主要有兩個關聯的實體,一個是配置變更歷史,一個是服務標簽(用於打標簽分類,方便索引),由ID關聯。
類視圖
nacos-sdk類視圖
構建物部署以及啟動模式
兩種交付工件
nacos支持標准的docker鏡像以及zip壓縮的構建物
兩種啟動模式
nacos支持將注冊中心於配置中心在一個進程合並部署或者將兩者分離部署的兩種模式。
免費的公有雲服務模式
除了將部署和啟動nacos服務外,在雲計算時代,nacos也支持公有雲模式,在阿里雲共有雲的商業產品中會提供nacos的免費的公有雲服務。
安裝
docker-compose方式安裝
wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum install docker-compose -y
mkdir /usr/nacos
cd /usr/nacos
yum install -y git-1.8.3.1-23.el7_8.x86_64 docker-compose docker-ce
git clone https://github.com/nacos-group/nacos-docker.git
cd nacos-docker/
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://h8h8tgzq.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
docker-compose -f example/standalone-mysql-8.yaml up -d
集群安裝
nacos依賴Java環境來運行。如果是編譯安裝並運行nacos,還需要為此配置maven環境,版本要求如下
1、jdk1.8
2、maven3.2
3、centos7
IP地址
10.0.07 centos7 nacos msyql
10.0.0.8 centos7 nacos
10.0.0.9 centos7 nacos
說明:除了步驟5單獨做以外,其他步驟三台節點都需要執行的
1、JDK安裝部署
mkdir /app && cd /app
wget https://www-1259165587.cos.ap-nanjing.myqcloud.com/jdk-8u191-linux-x64.tar.gz
tar xf jdk-8u191-linux-x64.tar.gz
mv jdk-8u191-linux-x64.tar.gz /opt/
echo "JAVA_HOME=/app/jdk1.8.0_191">> /etc/profile
echo 'PATH=$JAVA_HOME/bin:$PATH'>> /etc/profile
echo 'CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar'>> /etc/profile
echo "export PATH JAVA_HOME CLASSPATH">> /etc/profile
source /etc/profile
java -version
oracle下載jdk的密碼
17695691664@163.com
LiuShiYa111
2、maven部署安裝
mkdir /app && cd /app
wget https://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
tar xf apache-maven-3.6.3-bin.tar.gz
mv apache-maven-3.6.3-bin.tar.gz /opt/
echo 'export PATH=/app/apache-maven-3.6.3/bin:$PATH'>> /etc/profile
source /etc/profile
mvn -v
3、tar包方式安裝
wget https://github.com/alibaba/nacos/releases/download/1.3.0/nacos-server-1.3.0.tar.gz
tar xf nacos-server-1.3.0.tar.gz
cd /app/nacos/bin/
4、編寫配置文件
cat > /app/nacos/conf/application.properties <<EOF
server.servlet.contextPath=/nacos
server.port=8848
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://10.0.0.7:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=nacos
db.password=nacos
nacos.naming.empty-service.auto-clean=true
nacos.naming.empty-service.clean.initial-delay-ms=50000
nacos.naming.empty-service.clean.period-time-ms=30000
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
server.tomcat.basedir=
nacos.security.ignore.urls=/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**
nacos.core.auth.system.type=nacos
nacos.core.auth.enabled=false
nacos.core.auth.default.token.expire.seconds=18000
nacos.core.auth.default.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
nacos.core.auth.caching.enabled=true
nacos.istio.mcp.server.enabled=false
EOF
cat >/app/nacos/conf/cluster.conf<<EOF
10.0.0.7:8848
10.0.0.8:8848
10.0.0.9:8848
EOF
5、選擇10.0.0.7台安裝database
#獲取安裝包
cd /app
wget https://www-1259165587.cos.ap-nanjing.myqcloud.com/mysql-5.7.30-el7-x86_64.tar.gz
tar xf mysql-5.7.30-el7-x86_64.tar.gz
mv mysql-5.7.30-el7-x86_64 mysql
#修改環境變量
echo 'export PATH=/app/mysql/bin:$PATH'>> /etc/profile
source /etc/profile
mysql -V
#進行初始化
yum install -y libaio-devel
mkdir -p /app/mysql_data
useradd mysql -M -s /sbin/nologin
chown -R mysql.mysql /app/mysql_data
chown -R mysql.mysql /app/mysql
mysqld --initialize-insecure --user=mysql --basedir=/app/mysql --datadir=/app/mysql_data
>/etc/my.cnf
cat >/etc/my.cnf<<EOF
[mysqld]
user=mysql
basedir=/app/mysql
datadir=/app/mysql_data
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
EOF
#准備啟動腳本
cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
systemctl start mysqld
systemctl enable mysqld
mysql
create database nacos;
use nacos;
grant all on nacos.* to 'nacos'@'10.0.0.%' identified by 'nacos';
select user,host from mysql.user;
source /app/nacos/conf/nacos-mysql.sql ;
exit
6、啟動nacos並訪問測試
sh /app/nacos/bin/startup.sh
http://10.0.0.7:8848/nacos/#/login
配置
application.properties
#*************** Spring Boot Related Configurations ***************#
### Default web context path:默認web上下文路徑
server.servlet.contextPath=/nacos
### Default web server port:默認web服務器端口
server.port=8848
#*************** Network Related Configurations ***************# 網絡相關配置
### If prefer hostname over ip for Nacos server addresses in cluster.conf:集群中Nacos服務器地址的主機名是否優先於ip
# nacos.inetutils.prefer-hostname-over-ip=false
### Specify local server's IP:指定本地服務器的IP
# nacos.inetutils.ip-address=
#*************** Config Module Related Configurations ***************#配置模塊相關配置
### If user MySQL as datasource:如果用戶MySQL作為數據源
# spring.datasource.platform=mysql
### Count of DB:
# db.num=1
### Connect URL of DB:
# db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
# db.user=nacos
# db.password=nacos
#*************** Naming Module Related Configurations ***************#命名模塊相關配置
### Data dispatch task execution period in milliseconds:數據調度任務執行周期(毫秒)
# nacos.naming.distro.taskDispatchPeriod=200
### Data count of batch sync task:批量同步任務的數據計數
# nacos.naming.distro.batchSyncKeyCount=1000
### Retry delay in milliseconds if sync task failed:同步任務失敗時的重試延遲(毫秒)
# nacos.naming.distro.syncRetryDelay=5000
### If enable data warmup. If set to false, the server would accept request without local data preparation:如果啟用數據預熱。如果設置為false,服務器將在不准備本地數據的情況下接受請求
# nacos.naming.data.warmup=true
### If enable the instance auto expiration, kind like of health check of instance:如果啟用了實例自動過期,類似於實例的健康檢查
# nacos.naming.expireInstance=true
nacos.naming.empty-service.auto-clean=true
nacos.naming.empty-service.clean.initial-delay-ms=50000
nacos.naming.empty-service.clean.period-time-ms=30000
#*************** CMDB Module Related Configurations ***************#模塊相關配置
### The interval to dump external CMDB in seconds:轉儲外部CMDB的間隔(以秒為單位)
# nacos.cmdb.dumpTaskInterval=3600
### The interval of polling data change event in seconds:輪詢數據更改事件的間隔(秒)
# nacos.cmdb.eventTaskInterval=10
### The interval of loading labels in seconds:加載標簽的間隔(秒)
# nacos.cmdb.labelTaskInterval=300
### If turn on data loading task:如果打開數據加載任務
# nacos.cmdb.loadDataAtStart=false
#*************** Metrics Related Configurations ***************#指標相關配置
### Metrics for prometheus 普羅米修斯的度量
#management.endpoints.web.exposure.include=*
### Metrics for elastic search elasticsearch的度量
management.metrics.export.elastic.enabled=false
#management.metrics.export.elastic.host=http://localhost:9200
### Metrics for influx influxdb數據庫的度量
management.metrics.export.influx.enabled=false
#management.metrics.export.influx.db=springboot
#management.metrics.export.influx.uri=http://localhost:8086
#management.metrics.export.influx.auto-create-db=true
#management.metrics.export.influx.consistency=one
#management.metrics.export.influx.compressed=true
#*************** Access Log Related Configurations ***************#訪問日志相關配置
### If turn on the access log:如果打開訪問日志
server.tomcat.accesslog.enabled=true
### The access log pattern:訪問日志模式
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
### The directory of access log:訪問日志目錄
server.tomcat.basedir=
#*************** Access Control Related Configurations ***************#訪問控制相關配置
### If enable spring security, this option is deprecated in 1.2.0:如果啟用springsecurity,則在1.2.0中不推薦使用此選項
#spring.security.enabled=false
### The ignore urls of auth, is deprecated in 1.2.0:在1.2.0中,已棄用auth的ignore url
nacos.security.ignore.urls=/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**
### The auth system to use, currently only 'nacos' is supported:要使用的身份驗證系統,當前僅支持“nacos”
nacos.core.auth.system.type=nacos
### If turn on auth system:如果打開身份驗證系統
nacos.core.auth.enabled=false
### The token expiration in seconds:令牌過期時間(秒)
nacos.core.auth.default.token.expire.seconds=18000
### The default token:默認令牌
nacos.core.auth.default.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
### Turn on/off caching of auth information. By turning on this switch, the update of auth information would have a 15 seconds delay.打開/關閉身份驗證信息的緩存。打開此開關,身份驗證信息的更新將延遲15秒
nacos.core.auth.caching.enabled=true
#*************** Istio Related Configurations ***************#Istio相關配置
### If turn on the MCP server:如果打開MCP服務器
nacos.istio.mcp.server.enabled=false
###*************** Add from 1.3.0 ***************###
#*************** Core Related Configurations ***************#核心相關配置
### set the WorkerID manually手動設置WorkerID
# nacos.core.snowflake.worker-id=
### Member-MetaData成員元數據
# nacos.core.member.meta.site=
# nacos.core.member.meta.adweight=
# nacos.core.member.meta.weight=
### MemberLookup看
### Addressing pattern category, If set, the priority is highest尋址模式類別,如果設置,優先級最高
# nacos.core.member.lookup.type=[file,address-server,discovery]
## Set the cluster list with a configuration file or command-line argument使用配置文件或命令行參數設置群集列表
# nacos.member.list=192.168.16.101:8847?raft_port=8807,192.168.16.101?raft_port=8808,192.168.16.101:8849?raft_port=8809
## for DiscoveryMemberLookup為了發現
# If you want to use cluster node self-discovery, turn this parameter on 如果要使用群集節點自我發現,請啟用此參數
# nacos.member.discovery=false
## for AddressServerMemberLookup用於AddressServerMemberLookup
# Maximum number of retries to query the address server upon initialization初始化時查詢地址服務器的最大重試次數
# nacos.core.address-server.retry=5
#*************** JRaft Related Configurations ***************#JRaft相關配置
### Sets the Raft cluster election timeout, default value is 5 second設置Raft群集選擇超時,默認值為5秒
# nacos.core.protocol.raft.data.election_timeout_ms=5000
### Sets the amount of time the Raft snapshot will execute periodically, default is 30 minute設置Raft快照將定期執行的時間量,默認值為30分鍾
# nacos.core.protocol.raft.data.snapshot_interval_secs=30
### Requested retries, default value is 1請求重試,默認值為1
# nacos.core.protocol.raft.data.request_failoverRetries=1
### raft internal worker threads
# nacos.core.protocol.raft.data.core_thread_num=8
### Number of threads required for raft business request processing raft業務請求處理所需的線程數
# nacos.core.protocol.raft.data.cli_service_thread_num=4
### raft linear read strategy, defaults to index raft線性讀取策略,默認為索引
# nacos.core.protocol.raft.data.read_index_type=ReadOnlySafe
### rpc request timeout, default 5 seconds rpc請求超時,默認為5秒
# nacos.core.protocol.raft.data.rpc_request_timeout_ms=5000