产品定价 立即试用
专业版
安装 > 配置 > 版本控制执行器参数
入门 文档 指南
架构 API 常见问题
目录

版本控制执行器参数

Spring通用参数

参数环境变量默认值描述
spring.main.web-environment WEB_APPLICATION_ENABLE false 如果启用了进程指标,也应启用web-environment。
spring.main.web-application-type WEB_APPLICATION_TYPE none 如果启用了进程指标,应将web-application-type设置为servlet。
spring.main.allow-circular-references "true" Spring Boot配置属性控制是否允许bean之间的循环依赖。

服务端通用参数

参数环境变量默认值描述
server.address HTTP_BIND_ADDRESS 0.0.0.0 服务器绑定地址
server.port HTTP_BIND_PORT 8086 服务器绑定端口

Zookeeper连接参数(用于服务发现)

参数环境变量默认值描述
zk.enabled ZOOKEEPER_ENABLED true 启用/禁用Zookeeper发现服务。
zk.url ZOOKEEPER_URL localhost:2181 Zookeeper连接字符串
zk.retry_interval_ms ZOOKEEPER_RETRY_INTERVAL_MS 3000 Zookeeper重试间隔(毫秒)
zk.connection_timeout_ms ZOOKEEPER_CONNECTION_TIMEOUT_MS 3000 Zookeeper连接超时(毫秒)
zk.session_timeout_ms ZOOKEEPER_SESSION_TIMEOUT_MS 3000 Zookeeper会话超时(毫秒)
zk.zk_dir ZOOKEEPER_NODES_DIR /thingsboard Zookeeper'文件系统'中的目录名
zk.recalculate_delay ZOOKEEPER_RECALCULATE_DELAY_MS 0 建议在规则引擎服务的微服务架构设置中使用recalculate_delay属性。此属性提供暂停,以确保重新启动规则引擎服务时,其他节点不会立即尝试重新计算其分区。建议延迟,因为规则链参与者的初始化非常耗时。避免重新启动期间不必要的重新计算可以增强系统性能和稳定性。

队列配置参数

参数环境变量默认值描述
queue.type TB_QUEUE_TYPE kafka 卡夫卡(阿帕奇·卡夫卡)
queue.prefix TB_QUEUE_PREFIX 全局队列前缀。若指定,则在默认topic名前添加:'prefix.default_topic_name'。应用于所有topic(及kafka consumer group)。
queue.in_memory.stats.print-interval-ms TB_QUEUE_IN_MEMORY_STATS_PRINT_INTERVAL_MS 60000 对于调试级别
queue.kafka.bootstrap.servers TB_KAFKA_SERVERS localhost:9092 Kafka Bootstrap服务器
queue.kafka.ssl.enabled TB_KAFKA_SSL_ENABLED false 启用/禁用Kafka SSL通信
queue.kafka.ssl.truststore.location TB_KAFKA_SSL_TRUSTSTORE_LOCATION truststore文件路径
queue.kafka.ssl.truststore.password TB_KAFKA_SSL_TRUSTSTORE_PASSWORD 若指定了truststore则为其密码
queue.kafka.ssl.keystore.location TB_KAFKA_SSL_KEYSTORE_LOCATION keystore文件路径。客户端可选,用于客户端双向认证
queue.kafka.ssl.keystore.password TB_KAFKA_SSL_KEYSTORE_PASSWORD 密钥存储文件的存储密码。这对于客户端来说是可选的,并且仅在配置了“ssl.keystore.location”时才需要。PEM格式不支持密钥存储密码
queue.kafka.ssl.key.password TB_KAFKA_SSL_KEY_PASSWORD 密钥库文件中私钥的密码或“keystore.key”中指定的PEM密钥的密码
queue.kafka.acks TB_KAFKA_ACKS all 生产者认为请求完成前要求leader收到的确认数。控制发送记录的持久性。允许值:0、1、all
queue.kafka.retries TB_KAFKA_RETRIES 1 重试次数。重发因瞬时错误发送失败的记录
queue.kafka.compression.type TB_KAFKA_COMPRESSION_TYPE none none或gzip
queue.kafka.batch.size TB_KAFKA_BATCH_SIZE 16384 默认批量大小。为待发送批量的上限
queue.kafka.linger.ms TB_KAFKA_LINGER_MS 1 创建少许人工延迟,即不立即发送记录
queue.kafka.max.request.size TB_KAFKA_MAX_REQUEST_SIZE 1048576 单次请求最大字节数。限制生产者单次请求发送的批次数以避免发送过大请求
queue.kafka.max.in.flight.requests.per.connection TB_KAFKA_MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION 5 客户端在单连接上阻塞前可发送的未确认请求最大数
queue.kafka.buffer.memory TB_BUFFER_MEMORY 33554432 生产者用于缓冲待发送记录的内存总字节数
queue.kafka.replication_factor TB_QUEUE_KAFKA_REPLICATION_FACTOR 1 Kafka多broker上的数据副本数
queue.kafka.max_poll_interval_ms TB_QUEUE_KAFKA_MAX_POLL_INTERVAL_MS 300000 使用consumer group管理时两次poll()调用间的最大延迟。限制消费者在获取更多记录前可空闲的最长时间
queue.kafka.max_poll_records TB_QUEUE_KAFKA_MAX_POLL_RECORDS 8192 单次poll()调用返回的最大记录数
queue.kafka.max_partition_fetch_bytes TB_QUEUE_KAFKA_MAX_PARTITION_FETCH_BYTES 16777216 服务器每分区返回的最大数据量。消费者按批获取记录
queue.kafka.fetch_max_bytes TB_QUEUE_KAFKA_FETCH_MAX_BYTES 134217728 服务器返回的最大数据量。消费者按批获取记录
queue.kafka.request.timeout.ms TB_QUEUE_KAFKA_REQUEST_TIMEOUT_MS 30000 (30秒)
queue.kafka.session.timeout.ms TB_QUEUE_KAFKA_SESSION_TIMEOUT_MS 10000 (10秒)
queue.kafka.auto_offset_reset TB_QUEUE_KAFKA_AUTO_OFFSET_RESET earliest earliest、latest或none
queue.kafka.use_confluent_cloud TB_QUEUE_KAFKA_USE_CONFLUENT_CLOUD false 启用/禁用Confluent Cloud
queue.kafka.confluent.ssl.algorithm TB_QUEUE_KAFKA_CONFLUENT_SSL_ALGORITHM https 客户端验证服务器主机名的端点标识算法。默认https
queue.kafka.confluent.sasl.mechanism TB_QUEUE_KAFKA_CONFLUENT_SASL_MECHANISM PLAIN 认证Schema Registry请求的机制。SASL/PLAIN应仅与TLS/SSL传输层配合使用以确保明文密码不未加密传输
queue.kafka.confluent.sasl.config TB_QUEUE_KAFKA_CONFLUENT_SASL_JAAS_CONFIG org.apache.kafka.common.security.plain.PlainLoginModule required username=\"CLUSTER_API_KEY\" password=\"CLUSTER_API_SECRET\"; 使用JAAS配置指定broker上的多个SASL机制
queue.kafka.confluent.security.protocol TB_QUEUE_KAFKA_CONFLUENT_SECURITY_PROTOCOL SASL_SSL 与broker通信的协议。有效值:PLAINTEXT、SSL、SASL_PLAINTEXT、SASL_SSL
queue.kafka.consumer-properties-per-topic.tb_ota_package.key max.poll.records 每个特定主题的Kafka消费者的键值属性,例如tb_ota_package是ota的主题名称,tb_rule_engine.sq是默认SequentialByOriginator队列的主题名称。检查TB_QUEUE_CORE_OTA_TOPIC和TB_QUEUE_RE_SQ_TOPIC参数
queue.kafka.consumer-properties-per-topic.tb_ota_package.key.value TB_QUEUE_KAFKA_OTA_MAX_POLL_RECORDS 10 每个主题的特定消费者属性值示例
queue.kafka.consumer-properties-per-topic.tb_version_control.key max.poll.interval.ms VC每个主题的特定消费者属性值示例
queue.kafka.consumer-properties-per-topic.tb_version_control.key.value TB_QUEUE_KAFKA_VC_MAX_POLL_INTERVAL_MS 600000 VC每个主题的特定消费者属性值示例
queue.kafka.consumer-properties-per-topic-inline TB_QUEUE_KAFKA_CONSUMER_PROPERTIES_PER_TOPIC_INLINE tb_rule_engine.sq: - key: max.poll.records value: "${TB_QUEUE_KAFKA_SQ_MAX_POLL_RECORDS:1024}"如果使用环境变量覆盖任何默认的Kafka主题名称,则还必须在 `consumer-properties-per-topic-inline` 中指定新主题的相关消费者属性。否则,主题将不会继承其预期配置(例如max.poll.records、超时等)。格式:“topic1:key1=value1,key2=value2;topic2:key=value” 示例:“tb_core_modified.notifications:max.poll.records=10;tb_edge_modified:max.poll.records=10,enable.auto.commit=true”
queue.kafka.other-inline TB_QUEUE_KAFKA_OTHER_PROPERTIES 在本节中,您可以为Kafka消费者/生产者/管理员指定自定义参数(分号分隔)
queue.kafka.topic-properties.core TB_QUEUE_KAFKA_CORE_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1 Core topic的Kafka属性
queue.kafka.topic-properties.notifications TB_QUEUE_KAFKA_NOTIFICATIONS_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1 通知topic的Kafka属性
queue.kafka.topic-properties.version-control TB_QUEUE_KAFKA_VC_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1 Core topic的Kafka属性
queue.kafka.topic-properties.housekeeper TB_QUEUE_KAFKA_HOUSEKEEPER_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:10;min.insync.replicas:1 Housekeeper任务topic的Kafka属性
queue.kafka.consumer-stats.enabled TB_QUEUE_KAFKA_CONSUMER_STATS_ENABLED true 打印Kafka主题中消费者组偏移量和最后消息偏移量之间的滞后
queue.kafka.consumer-stats.print-interval-ms TB_QUEUE_KAFKA_CONSUMER_STATS_MIN_PRINT_INTERVAL_MS 60000 Kafka消费者组统计数据的统计打印间隔
queue.kafka.consumer-stats.kafka-response-timeout-ms TB_QUEUE_KAFKA_CONSUMER_STATS_RESPONSE_TIMEOUT_MS 1000 等待Kafka的统计数据加载请求完成的时间
queue.kafka.topics_cache_ttl_ms TB_QUEUE_KAFKA_TOPICS_CACHE_TTL_MS 300000 topic缓存TTL(毫秒)。默认5分钟
queue.partitions.hash_function_name TB_QUEUE_PARTITIONS_HASH_FUNCTION_NAME murmur3_128 murmur3_32、murmur3_128或sha256
queue.core.topic TB_QUEUE_CORE_TOPIC tb_core 默认topic名
queue.core.notifications_topic TB_QUEUE_CORE_NOTIFICATIONS_TOPIC tb_core.notifications 需要最低延迟和处理时间的高优先级通知
queue.core.poll-interval TB_QUEUE_CORE_POLL_INTERVAL_MS 25 Core微服务轮询消息的间隔(毫秒)
queue.core.partitions TB_QUEUE_CORE_PARTITIONS 10 Core微服务使用的分区数
queue.core.pack-processing-timeout TB_QUEUE_CORE_PACK_PROCESSING_TIMEOUT_MS 2000 Core微服务处理消息包的超时
queue.core.ota.topic TB_QUEUE_CORE_OTA_TOPIC tb_ota_package 默认topic名for OTA updates
queue.core.ota.pack-interval-ms TB_QUEUE_CORE_OTA_PACK_INTERVAL_MS 60000 处理设备OTA更新的时间间隔。用于避免由于许多并行OTA更新而对网络造成任何损害
queue.core.ota.pack-size TB_QUEUE_CORE_OTA_PACK_SIZE 100 从队列中获取的OTA更新通知的大小。队列存储成对的固件和设备ID
queue.core.usage-stats-topic TB_QUEUE_US_TOPIC tb_usage_stats 统计主题名称
queue.core.stats.enabled TB_QUEUE_CORE_STATS_ENABLED true 启用/禁用Core微服务统计
queue.core.stats.print-interval-ms TB_QUEUE_CORE_STATS_PRINT_INTERVAL_MS 60000 Core微服务统计打印间隔
queue.core.housekeeper.topic TB_HOUSEKEEPER_TOPIC tb_housekeeper Housekeeper任务topic名
queue.vc.topic TB_QUEUE_VC_TOPIC tb_version_control 默认topic名
queue.vc.partitions TB_QUEUE_VC_PARTITIONS 10 与此队列关联的分区数。用于缩放可以并行处理的消息数量
queue.vc.poll-interval TB_QUEUE_VC_INTERVAL_MS 25 如果没有新消息到达,轮询消息之间的时间间隔(以毫秒为单位)
queue.vc.pack-processing-timeout TB_QUEUE_VC_PACK_PROCESSING_TIMEOUT_MS 180000 重试处理包中所有失败和超时消息之前的超时
queue.vc.msg-chunk-size TB_QUEUE_VC_MSG_CHUNK_SIZE 250000 单个队列消息大小限制

版本控制参数

参数环境变量默认值描述
vc.thread_pool_size TB_VC_POOL_SIZE 6 用于处理导出任务的池大小
vc.git.io_pool_size TB_VC_GIT_POOL_SIZE 3 用于处理git IO操作的池大小
vc.git.repositories-folder TB_VC_GIT_REPOSITORIES_FOLDER ${java.io.tmpdir}/repositories 默认存储库路径

使用统计参数

参数环境变量默认值描述
usage.stats.report.enabled USAGE_STATS_REPORT_ENABLED true 启用/禁用API使用统计收集。默认在系统和租户级别收集
usage.stats.report.enabled_per_customer USAGE_STATS_REPORT_PER_CUSTOMER_ENABLED false 启用/禁用客户级API使用统计收集
usage.stats.report.interval USAGE_STATS_REPORT_INTERVAL 60 统计上报间隔。默认每10秒发送汇总统计
usage.stats.report.pack_size USAGE_STATS_REPORT_PACK_SIZE 1024 每个包中的统计消息数

指标参数

参数环境变量默认值描述
metrics.enabled METRICS_ENABLED false 启用/禁用actuator指标。
metrics.timer.percentiles METRICS_TIMER_PERCENTILES 0.5 计时器指标的执行器返回的指标百分位数。双精度值列表(除以,)。

通用管理参数

参数环境变量默认值描述
management.endpoints.web.exposure.include METRICS_ENDPOINTS_EXPOSE info 暴露指标端点(使用'prometheus'启用prometheus指标)。

服务通用属性

参数环境变量默认值描述
service.type TB_SERVICE_TYPE tb-vc-executor 服务类型
service.id TB_SERVICE_ID 本服务的唯一ID(空则自动生成)

通知系统参数

参数环境变量默认值描述
notification_system.rules.deduplication_durations TB_NOTIFICATION_RULES_DEDUPLICATION_DURATIONS RATE_LIMITS:14400000; 触发器类型的去重时长(毫秒,分号分隔)。格式:'NotificationRuleTriggerType1:123;NotificationRuleTriggerType2:456'