产品定价 立即试用
专业版
安装 > 配置 > HTTP传输参数
入门 文档 指南
架构 API 常见问题
目录

HTTP传输参数

服务端通用属性

参数环境变量默认值描述
server.address HTTP_BIND_ADDRESS 0.0.0.0 服务器绑定地址
server.port HTTP_BIND_PORT 8081 服务器绑定端口
server.ssl.enabled SSL_ENABLED false 启用/禁用SSL支持
server.ssl.credentials.type SSL_CREDENTIALS_TYPE PEM 服务器凭证类型(PEM-pem证书文件;KEYSTORE-java keystore)
server.ssl.credentials.pem.cert_file SSL_PEM_CERT server.pem 服务器证书文件路径(含服务器证书或证书链,可包含服务器私钥)
server.ssl.credentials.pem.key_file SSL_PEM_KEY server_key.pem 服务器证书私钥文件路径。默认可选。若证书文件中无私钥则为必填;
server.ssl.credentials.pem.key_password SSL_PEM_KEY_PASSWORD server_key_password 服务器证书私钥密码(可选)
server.ssl.credentials.keystore.type SSL_KEY_STORE_TYPE PKCS12 Keystore类型(JKS或PKCS12)
server.ssl.credentials.keystore.store_file SSL_KEY_STORE classpath:keystore/keystore.p12 存放SSL证书的keystore路径
server.ssl.credentials.keystore.store_password SSL_KEY_STORE_PASSWORD thingsboard 访问keystore的密码
server.ssl.credentials.keystore.key_alias SSL_KEY_ALIAS tomcat 密钥别名
server.ssl.credentials.keystore.key_password SSL_KEY_PASSWORD thingsboard 访问密钥的密码
server.http2.enabled HTTP2_ENABLED true 启用/禁用HTTP/2支持

Spring通用参数

参数环境变量默认值描述
spring.main.allow-circular-references "true" Spring Boot配置属性控制是否允许bean之间的循环依赖。
spring.servlet.multipart.max-file-size SPRING_SERVLET_MULTIPART_MAX_FILE_SIZE 50MB 配置文件上传时总文件大小不能超过50MB
spring.servlet.multipart.max-request-size SPRING_SERVLET_MULTIPART_MAX_REQUEST_SIZE 50MB multipart/form-data的总请求大小不能超过50MB

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

参数环境变量默认值描述
zk.enabled ZOOKEEPER_ENABLED false 启用/禁用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属性。此属性提供暂停,以确保重新启动规则引擎服务时,其他节点不会立即尝试重新计算其分区。建议延迟,因为规则链参与者的初始化非常耗时。避免重新启动期间不必要的重新计算可以增强系统性能和稳定性。

缓存参数

参数环境变量默认值描述
cache.type CACHE_TYPE redis caffeine或redis
cache.entityLimits.timeToLiveInMinutes CACHE_SPECS_ENTITY_LIMITS_TTL 5 实体限制缓存TTL
cache.entityLimits.maxSize CACHE_SPECS_ENTITY_LIMITS_MAX_SIZE 100000 0表示缓存被禁用

Redis/Valkey配置参数

参数环境变量默认值描述
redis.connection.type REDIS_CONNECTION_TYPE standalone Redis部署类型:独立(单Redis节点部署)或集群
redis.standalone.host REDIS_HOST localhost Redis连接主机
redis.standalone.port REDIS_PORT 6379 Redis连接端口
redis.standalone.useDefaultClientConfig REDIS_USE_DEFAULT_CLIENT_CONFIG true 使用默认的Redis配置文件
redis.standalone.clientName REDIS_CLIENT_NAME standalone 仅当您使用非默认ClientConfig时才可以使用此值
redis.standalone.connectTimeout REDIS_CLIENT_CONNECT_TIMEOUT 30000 仅当您使用非默认ClientConfig时才可以使用此值
redis.standalone.readTimeout REDIS_CLIENT_READ_TIMEOUT 60000 仅当您使用非默认ClientConfig时才可以使用此值
redis.standalone.usePoolConfig REDIS_CLIENT_USE_POOL_CONFIG false 仅当您使用非默认ClientConfig时才可以使用此值
redis.cluster.nodes REDIS_NODES 用于引导的"host:port"对列表(逗号分隔).
redis.cluster.max-redirects REDIS_MAX_REDIRECTS 12 集群中执行命令时允许的最大重定向数.
redis.cluster.useDefaultPoolConfig REDIS_USE_DEFAULT_POOL_CONFIG true 如果设置为false将使用池配置从池配置部分的值构建
redis.sentinel.master REDIS_MASTER 主节点名称
redis.sentinel.sentinels REDIS_SENTINELS 以逗号分隔的“主机:端口”哨兵对列表
redis.sentinel.password REDIS_SENTINEL_PASSWORD 与哨兵进行身份验证的密码
redis.sentinel.useDefaultPoolConfig REDIS_USE_DEFAULT_POOL_CONFIG true 如果设置为false将使用池配置从池配置部分的值构建
redis.db REDIS_DB 0 数据库索引
redis.password REDIS_PASSWORD 数据库密码
redis.username REDIS_USERNAME 用于ACL身份验证的Redis用户名(Redis 6.0+)。对于旧版仅密码身份验证留空
redis.ssl.enabled TB_REDIS_SSL_ENABLED false 启用/禁用安全连接
redis.ssl.credentials.cert_file TB_REDIS_SSL_PEM_CERT Redis服务器(CA)证书路径
redis.ssl.credentials.user_cert_file TB_REDIS_SSL_PEM_KEY 用户证书文件的路径。这对于客户端来说是可选的,可以用于客户端的双向身份验证
redis.ssl.credentials.user_key_file TB_REDIS_SSL_PEM_KEY_PASSWORD 用户私钥文件的路径。这对于客户端来说是可选的,并且仅在配置了“user_cert_file”时才需要。
redis.pool_config.maxTotal REDIS_POOL_CONFIG_MAX_TOTAL 128 连接池可分配的最大连接数
redis.pool_config.maxIdle REDIS_POOL_CONFIG_MAX_IDLE 128 池中可维持且不被关闭的最大空闲连接数
redis.pool_config.minIdle REDIS_POOL_CONFIG_MIN_IDLE 16 池中可以维持且不被关闭的最小空闲连接数
redis.pool_config.testOnBorrow REDIS_POOL_CONFIG_TEST_ON_BORROW false 借用连接时启用/禁用PING命令发送
redis.pool_config.testOnReturn REDIS_POOL_CONFIG_TEST_ON_RETURN false 该属性用于指定在将连接返回到连接池之前是否对其进行测试。
redis.pool_config.testWhileIdle REDIS_POOL_CONFIG_TEST_WHILE_IDLE true 该属性用于Redis中的连接池上下文
redis.pool_config.minEvictableMs REDIS_POOL_CONFIG_MIN_EVICTABLE_MS 60000 空闲连接在从连接池中被逐出之前应处于空闲状态的最短时间。以毫秒为单位设置的值
redis.pool_config.evictionRunsMs REDIS_POOL_CONFIG_EVICTION_RUNS_MS 30000 指定两次连续驱逐运行之间的时间间隔(以毫秒为单位)
redis.pool_config.maxWaitMills REDIS_POOL_CONFIG_MAX_WAIT_MS 60000 当所有连接都耗尽时,客户端愿意等待池中连接的最长时间(以毫秒为单位)
redis.pool_config.numberTestsPerEvictionRun REDIS_POOL_CONFIG_NUMBER_TESTS_PER_EVICTION_RUN 3 指定每次逐出运行期间要测试逐出的连接数
redis.pool_config.blockWhenExhausted REDIS_POOL_CONFIG_BLOCK_WHEN_EXHAUSTED true 确定当线程从池中请求连接但没有可用连接且池由于maxTotal配置而无法创建更多连接时的行为

HTTP服务端参数

参数环境变量默认值描述
transport.http.request_timeout HTTP_REQUEST_TIMEOUT 60000 HTTP请求处理超时(以毫秒为单位)
transport.http.max_request_timeout HTTP_MAX_REQUEST_TIMEOUT 300000 HTTP最大请求处理超时(以毫秒为单位)
transport.http.max_payload_size HTTP_TRANSPORT_MAX_PAYLOAD_SIZE_LIMIT_CONFIGURATION /api/v1/*/rpc/**=65536;/api/v1/**=52428800 urlPattern=maxPayloadSize对的列表(分号分隔),定义指定URL模式的最大HTTP请求大小。首次匹配后其余将被跳过
transport.sessions.inactivity_timeout TB_TRANSPORT_SESSIONS_INACTIVITY_TIMEOUT 600000 会话空闲超时为全局配置,定义设备最后一条消息到达后传输会话保持开放的时长(毫秒)。设备发送任何消息(含keepalive)时会更新会话最后活动时间。若无活动则会关闭会话并删除所有订阅。建议与设备空闲超时(state.defaultInactivityTimeoutInSec或DEFAULT_INACTIVITY_TIMEOUT)同步,该参数负责核心服务中设备连接状态检测。会话空闲超时应大于等于设备空闲超时。注意会话空闲超时为毫秒,设备空闲超时为秒。
transport.sessions.report_timeout TB_TRANSPORT_SESSIONS_REPORT_TIMEOUT 3000 定期检查过期会话及上报会话最后活动时间变更的间隔
transport.json.type_cast_enabled JSON_TYPE_CAST_ENABLED true 处理遥测/属性JSON时尽可能将String转为Numeric
transport.json.max_string_value_length JSON_MAX_STRING_VALUE_LENGTH 0 处理遥测/属性JSON时允许的最大字符串长度(0表示禁用长度检查)
transport.log.enabled TB_TRANSPORT_LOG_ENABLED true 启用/禁用将传输消息记录到遥测。例如LwM2M注册更新日志
transport.log.max_length TB_TRANSPORT_LOG_MAX_LENGTH 1024 日志消息最大长度。超出时将截断至指定值
transport.stats.enabled TB_TRANSPORT_STATS_ENABLED true 启用/禁用传输统计数据的收集
transport.stats.print-interval-ms TB_TRANSPORT_STATS_PRINT_INTERVAL_MS 60000 传输统计日志间隔

队列配置参数

参数环境变量默认值描述
queue.type TB_QUEUE_TYPE kafka 卡夫卡(阿帕奇·卡夫卡)
queue.prefix TB_QUEUE_PREFIX 全局队列前缀。如果指定,则在默认主题名称之前添加前缀:“prefix.default_topic_name”。前缀应用于所有主题(以及kafka的消费者组)。
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 密钥存储文件的位置。这对于客户端来说是可选的,可以用于客户端的双向身份验证
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 用于验证架构注册表请求的机制。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-inline TB_QUEUE_KAFKA_CONSUMER_PROPERTIES_PER_TOPIC_INLINE 如果您使用环境变量覆盖任何默认的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.rule-engine TB_QUEUE_KAFKA_RE_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1 规则引擎的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.transport-api TB_QUEUE_KAFKA_TA_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:10;min.insync.replicas:1 Transport Api 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.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.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.transport_api.requests_topic TB_QUEUE_TRANSPORT_API_REQUEST_TOPIC tb_transport.api.requests 消费传输微服务api请求的topic
queue.transport_api.responses_topic TB_QUEUE_TRANSPORT_API_RESPONSE_TOPIC tb_transport.api.responses 向传输微服务发送api响应的topic
queue.transport_api.max_pending_requests TB_QUEUE_TRANSPORT_MAX_PENDING_REQUESTS 10000 服务器待处理的传输微服务api请求最大数
queue.transport_api.max_requests_timeout TB_QUEUE_TRANSPORT_MAX_REQUEST_TIMEOUT 10000 服务器处理传输微服务api请求的最大超时(毫秒)
queue.transport_api.max_callback_threads TB_QUEUE_TRANSPORT_MAX_CALLBACK_THREADS 100 用于调用回调的线程数
queue.transport_api.request_poll_interval TB_QUEUE_TRANSPORT_REQUEST_POLL_INTERVAL_MS 25 轮询传输微服务api请求的间隔(毫秒)
queue.transport_api.response_poll_interval TB_QUEUE_TRANSPORT_RESPONSE_POLL_INTERVAL_MS 25 轮询传输微服务api响应的间隔(毫秒)
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 60000 Core微服务处理消息包的超时
queue.core.usage-stats-topic TB_QUEUE_US_TOPIC tb_usage_stats 默认topic名
queue.core.stats.enabled TB_QUEUE_CORE_STATS_ENABLED false 启用/禁用Core微服务统计
queue.core.stats.print-interval-ms TB_QUEUE_CORE_STATS_PRINT_INTERVAL_MS 10000 Core微服务统计打印间隔
queue.core.housekeeper.topic TB_HOUSEKEEPER_TOPIC tb_housekeeper Housekeeper任务topic名
queue.js.request_topic REMOTE_JS_EVAL_REQUEST_TOPIC js_eval.requests JS Eval请求topic
queue.js.response_topic_prefix REMOTE_JS_EVAL_RESPONSE_TOPIC js_eval.responses 与节点id组合的JS Eval响应topic前缀
queue.js.max_pending_requests REMOTE_JS_MAX_PENDING_REQUESTS 10000 JS Eval最大待处理请求数
queue.js.max_requests_timeout REMOTE_JS_MAX_REQUEST_TIMEOUT 10000 JS Eval最大请求超时
queue.js.response_poll_interval REMOTE_JS_RESPONSE_POLL_INTERVAL_MS 25 JS响应轮询间隔
queue.rule-engine.topic TB_QUEUE_RULE_ENGINE_TOPIC tb_rule_engine 已弃用。将在近期版本中移除
queue.rule-engine.notifications_topic TB_QUEUE_RULE_ENGINE_NOTIFICATIONS_TOPIC tb_rule_engine.notifications 需要最低延迟和处理时间的高优先级通知
queue.rule-engine.poll-interval TB_QUEUE_RULE_ENGINE_POLL_INTERVAL_MS 25 规则引擎轮询消息的间隔(毫秒)
queue.rule-engine.pack-processing-timeout TB_QUEUE_RULE_ENGINE_PACK_PROCESSING_TIMEOUT_MS 60000 规则引擎处理消息包的超时
queue.rule-engine.stats.enabled TB_QUEUE_RULE_ENGINE_STATS_ENABLED true 启用/禁用规则引擎统计
queue.rule-engine.stats.print-interval-ms TB_QUEUE_RULE_ENGINE_STATS_PRINT_INTERVAL_MS 60000 规则引擎统计打印间隔
queue.transport.notifications_topic TB_QUEUE_TRANSPORT_NOTIFICATIONS_TOPIC tb_transport.notifications 需要最低延迟和处理时间的高优先级通知
queue.transport.poll_interval TB_QUEUE_TRANSPORT_NOTIFICATIONS_POLL_INTERVAL_MS 25 轮询消息的间隔(毫秒)

通用服务参数

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

使用统计参数

参数环境变量默认值描述
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指标。

通用管理参数

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

通知系统参数

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