跳转到内容
云栖回顾 | 2024 云栖大会微服务和网关相关演讲材料点此了解

Nacos系统参数介绍

Nacos 系统参数介绍

Nacos Server

对于Server端来说,一般是设置在{nacos.home}/conf/application.properties里,如果参数名后标注了(-D)的,则表示是 JVM 的参数,需要在{nacos.home}/bin/startup.sh里进行相应的设置。例如像设置 nacos.home 的值,可以在{nacos.home}/bin/startup.sh进行如下设置:

JAVA_OPT="${JAVA_OPT} -Dnacos.home=${BASE_DIR}"

全局参数

参数名含义可选值默认值支持版本
nacos.home(-D)Nacos的根目录目录路径Nacos安装的目录>= 0.1.0
nacos.standalone(-D)是否在单机模式true/falsefalse>= 0.1.0
nacos.functionMode(-D)启动模式,支持只启动某一个模块,不设置时所有模块都会启动config/naming/空>= 0.9.0
nacos.inetutils.prefer-hostname-over-ipcluster.conf里是否应该填hostnametrue/falsefalse>= 0.3.0
nacos.inetutils.ip-address本机IP,该参数设置后,将会使用这个IP去cluster.conf里进行匹配,请确保这个IP的值在cluster.conf里是存在的本机IPnull>= 0.3.0

Naming模块

参数名含义可选值默认值支持版本
nacos.naming.data.warmup是否在Server启动时进行数据预热true/falsefalse>= 1.0.2
nacos.naming.expireInstance是否自动摘除临时实例true/falsetrue>= 1.0.2
nacos.naming.distro.taskDispatchPeriod同步任务生成的周期,单位为毫秒正整数2000>= 1.0.2
nacos.naming.distro.batchSyncKeyCount同步任务每批的key的数目正整数1000>= 1.0.2
nacos.naming.distro.syncRetryDelay同步任务失败的重试间隔,单位为毫秒正整数5000>= 1.0.2

除了上面列到的在application.properties里配置的属性,还有一些可以在运行时调用接口来进行调节,这些参数都在Open API里的查看系统当前数据指标这个API里有声明。

Config模块

参数名含义可选值默认值支持版本
db.num数据库数目正整数0>= 0.1.0
db.url.0第一个数据库的URL字符串>= 0.1.0
db.url.1第二个数据库的URL字符串>= 0.1.0
db.user数据库连接的用户名字符串>= 0.1.0
db.password数据库连接的密码字符串>= 0.1.0
spring.datasource.platform数据库类型字符串mysql>=1.3.0
db.pool.config.xxx数据库连接池参数,使用的是hikari连接池,参数与hikari连接池相同,如db.pool.config.connectionTimeoutdb.pool.config.maximumPoolSize字符串同hikariCp对应默认配置>=1.4.1

当前数据库配置支持多数据源。通过db.num来指定数据源个数,db.url.index为对应的数据库的链接。db.user以及db.password没有设置index时,所有的链接都以db.userdb.password用作认证。如果不同数据源的用户名称或者用户密码不一样时,可以通过符号,来进行切割,或者指定db.user.index,db.user.password来设置对应数据库链接的用户或者密码。需要注意的是,当db.userdb.password没有指定下标时,因为当前机制会根据,进行切割。所以当用户名或者密码存在,时,会把,切割后前面的值当成最后的值进行认证,会导致认证失败。

Nacos从1.3版本开始使用HikariCP连接池,但在1.4.1版本前,连接池配置由系统默认值定义,无法自定义配置。在1.4.1后,提供了一个方法能够配置HikariCP连接池。 db.pool.config为配置前缀,xxx为实际的hikariCP配置,如db.pool.config.connectionTimeoutdb.pool.config.maximumPoolSize等。更多hikariCP的配置请查看HikariCP 需要注意的是,url,user,password会由db.url.n,db.user,db.password覆盖,driverClassName则是默认的MySQL8 driver(该版本mysql driver支持mysql5.x)

CMDB模块

参数名含义可选值默认值支持版本
nacos.cmdb.loadDataAtStart是否打开CMDBtrue/falsefalse>= 0.7.0
nacos.cmdb.dumpTaskInterval全量dump的间隔,单位为秒正整数3600>= 0.7.0
nacos.cmdb.eventTaskInterval变更事件的拉取间隔,单位为秒正整数10>= 0.7.0
nacos.cmdb.labelTaskInterval标签集合的拉取间隔,单位为秒正整数300>= 0.7.0

Nacos Java Client

客户端的参数分为两种,一种是通过-D参数进行指定的配置,一种是构造客户端时,通过Properties对象指定的配置,以下没有带-D标注的都是通过Properties注入的配置。

通用参数

参数名含义可选值默认值支持版本
endpoint连接Nacos Server指定的连接点,可以参考文档域名>= 0.1.0
endpointPort连接Nacos Server指定的连接点端口,可以参考文档合法端口号>= 0.1.0
namespace命名空间的ID命名空间的IDconfig模块为空,naming模块为public>= 0.8.0
serverAddrNacos Server的地址列表,这个值的优先级比endpoint高ip
,ip
,…
>= 0.1.0
JM.LOG.PATH(-D)客户端日志的目录目录路径用户根目录>= 0.1.0

Naming客户端

参数名含义可选值默认值支持版本
namingLoadCacheAtStart启动时是否优先读取本地缓存true/falsefalse>= 1.0.0
namingCacheRegistryDir指定缓存子目录,位置为 .../nacos/{SUB_DIR}/naming子目录路径空字符串>=2.0.2
namingClientBeatThreadCount客户端心跳的线程池大小正整数机器的CPU数的一半>= 1.0.0
namingPollingThreadCount客户端定时轮询数据更新的线程池大小正整数机器的CPU数的一半>= 1.0.0
com.alibaba.nacos.naming.cache.dir(-D)客户端缓存目录目录路径{user.home}/nacos/naming>= 1.0.0
com.alibaba.nacos.naming.log.level(-D)Naming客户端的日志级别info,error,warn等info>= 1.0.0
com.alibaba.nacos.client.naming.tls.enable(-D)是否打开HTTPStrue/falsefalse>= 1.0.0

Config客户端

参数名含义可选值默认值支持版本
configLongPollTimeout(config.long-poll.timeout 1.0.1版本)长轮询的超时时间,单位为毫秒正整数30000>= 1.0.2
configRetryTime(config.retry.time 1.0.1版本)长轮询任务重试时间,单位为毫秒正整数2000>= 1.0.2
maxRetry长轮询的重试次数正整数3>= 1.0.2
enableRemoteSyncConfig监听器首次添加时拉取远端配置布尔值false>= 1.0.2
com.alibaba.nacos.config.log.level(-D)Config客户端的日志级别info,error,warn等info>= 1.0.0
JM.SNAPSHOT.PATH(-D)客户端缓存目录目录路径{user.home}/nacos/config>= 1.0.0