阿里云首页 金融分布式架构 SOFAStack

properties-系统

application.properties 中的键值对 key-value 主要分为以下两类:

  • 自定义配置:指 key 值是由用户指定,被用户程序代码使用的自定义配置,这类配置不会影响 SOFABoot 框架,具体含义与用途完全由用户决定。

  • 系统配置:指 key 值是由 SOFABoot 框架指定,并能影响框架运行的配置。

本文列出了支持在 config/application.properties 中进行配置的所有系统配置项。

SOFABoot 系统配置项

默认配置项

下表列出了默认的系统配置项:

配置项

类型

配置项说明

默认值

取值范围

spring.application.name

STRING

应用名称。

必填。

由 a~z 小写字母和 “-” 组成的字符串,不包含任何其他符号。如 helloworld 、hello-world。

logging.path

STRING

SOFA 框架以及各中间件的日志输出目录。

./logs

表示目录的字符串。

  • 支持相对路径,如 ./logs

  • 支持绝对路径,如 /home/admin/logs

logging.level.${groupId}

STRING

使用工程原型创建的业务应用的日志级别。

INFO

表示业务应用的日志打印级别,可配置以下值:

  • INFO:表示基础信息日志;

  • WARN:表示警告日志;

  • DEBUG:表示调试日志。

  • ERROR:表示错误日志。

RPC 配置项

下表列出了 RPC 相关的系统配置项:

配置项

类型

配置项说明

默认值

取值范围

run.mode

STRING

RPC 路由模式。

  • DEV:表示 RPC 路由时,强制用本地模式(客户端和服务端均在一台机器);

  • TEST:表示 RPC 路由时,强制用 test-url 参数指定的地址(点对点连接);

  • NORMAL:表示 RPC 路由时,使用软负载的路由,也是线上正确的模式。

rpc.sofarouter

BOOLEAN

是否开启 SOFARouter。

true(1.0.0 版本);

false(1.1.0 - 2.1.4 版本)。

  • true:开启 SOFARouter 的功能;

  • false:关闭 SOFARouter 的功能。

rpc.reference.duplicate.limit

INTEGER

RPC 对于同一服务多次引用时抛出异常的阈值。

3

正整数,如 5。

rpc.min.pool.size.tr

INTEGER

服务器线程池最小线程数。

20

正整数,如 100。

rpc.max.pool.size.tr

INTEGER

TR 服务器线程池最大线程数。

200

正整数,如 600。

rpc.pool.queue.size.tr

INTEGER

TR 服务器线程池队列大小。

0

正整数,如 2000。

rpc.tr.port

INTEGER

TR 端口号

12200

正整数,如 12201。

rpc.transmit.url.timeout.tr

INTEGER

预热调用超时时间,单位毫秒。

10000

正整数,如10000。

rpc.tr.reconnect.period

INTEGER

TR 客户端会自动重连已断连的服务端的时间间隔 ,单位毫秒。

10000

正整数,如20000。

另外,以下 RPC 系统配置项需要配合 JVM 参数进行设置,具体可参考 技术栈使用指南

配置项

类型

说明

默认值

取值范围

rpc_bind_network_interface

STRING

服务器绑定固定网卡。

空,此时会从可获取网卡列表中取第一个。

通过 ifconfig 获取的网卡名字,如 eth0。

rpc_enabled_ip_range

STRING

服务器绑定本地 IP 范围。

空,此时会从可获取网卡列表中取第一个。

格式:IP_RANGE1:IP_RANGE2,IP_RANGE。例如:rpc_enabled_ip_range=10.1:10.2,11 表示 RPC 路由时会在 10.1.0.0~10.2.255.255 和 11.0.0.0~11.255.255.255 两个 IP 段内选择目标地址。

rpc.transmit.url

STRING

预热转发和权重配置。

  • 格式 1:127.0.0.1,即合法转发目标 URL;

  • 格式 2:weightStarting:0.3,during:60,weightStarted:0.2,address:127.0.0.1,uniqueId:core_unique,即包含了预热期转发权重、预热时间、预热后转发权重、目标地址、集群标识符的格式。

core_unique

STRING

仅用于标识预热转发目标集群。

自定义字符串,如 abc。

Tracer 配置项

下表列出了 Tracer 相关的系统配置项:

配置项

类型

说明

默认值

取值范围

logging.path

STRING

日志输出目录。

Tracer 会优先输出到 logging.path 目录下;如果没有配置日志输出目录,那默认输出到 ${user.home}。

正确的日志路径。

com.alipay.sofa.tracer.tracerGlobalRollingPolicy

STRING

Tracer 日志的滚动策略。

默认不配置按照天滚动。

  • yyyy-MM-dd:按照天滚动;

  • yyyy-MM-dd_HH:按照小时滚动。

com.alipay.sofa.tracer.tracerGlobalLogReserveDay

INTEGER

Tracer 日志的保留天数。

默认保留 7 天

正整数,如 8、9。

com.alipay.sofa.tracer.statLogInterval

INTEGER

统计日志的时间间隔。

默认 60 秒统计日志输出一次。

正整数,单位为秒。

com.alipay.sofa.tracer.baggageMaxLength

INTEGER

透传数据能够允许存放的最大长度。

1024

正整数。

com.alipay.sofa.tracer.disableDigestLog

BOOLEAN

是否关闭所有集成 Tracer 组件摘要日志打印。

false

  • true:关闭;

  • false:打开。

com.alipay.sofa.tracer.disableConfiguration[${logType}]

BOOLEAN

是否关闭指定 ${logType} 的 SOFATracer 组件摘要日志打印。${logType} 是指具体的日志类型,如:spring-mvc-digest.log。

false

  • true:关闭;

  • false:打开。

SOFABoot 健康检查配置项

配置项

类型

说明

默认值

取值范围

com.alipay.sofa.healthcheck.skip.all

BOOLEAN

是否跳过整个自检阶段。

false

  • true:跳过整个自检阶段;

  • false:不跳过整个自检阶段。

com.alipay.sofa.healthcheck.skip.component

BOOLEAN

是否跳过组件的自检。

false

  • true:跳过组件的自检;

  • false:不跳过组件的自检。

com.alipay.sofa.healthcheck.skip.indicator

BOOLEAN

是否跳过HealthIndicator的健康检查自检。

false

  • true:跳过HealthIndicator的健康检查自检;

  • false:不跳过HealthIndicator的健康检查自检。

com.alipay.sofa.healthcheck.component.check.retry.count

INTEGER

流量入口组件自检的失败重试次数,超过这个次数,就不会再进行健康检查,服务就起不来了。

20

正整数,例如12。

com.alipay.sofa.healthcheck.component.check.strict.enabled

BOOLEAN

是否对流量入口组件进行严格的组件自检。

true

  • true:进行对流量入口组件进行严格的组件自检;

  • false:流量入口组件的健康检查结果为成功。

Java启动参数设置(启动时以-D参数的方式配置):

配置项

默认值

说明

rpc_max_address_wait_time

30

获取配置中心返回地址的等待时间,单位秒。

rpc_tr_heart_beat_interval

27

TR 心跳的间隔时间,单位秒。