| queue.type |
TB_QUEUE_TYPE |
kafka |
卡夫卡(阿帕奇·卡夫卡) |
| queue.prefix |
TB_QUEUE_PREFIX |
|
全局队列前缀。若指定,则在默认topic名前添加:'prefix.default_topic_name'。应用于所有topic(及kafka consumer group)。 |
| 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.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-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.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.js-executor |
TB_QUEUE_KAFKA_JE_TOPIC_PROPERTIES |
retention.ms:604800000;segment.bytes:52428800;retention.bytes:104857600;partitions:100;min.insync.replicas:1 |
JS执行器主题的Kafka属性 |
| queue.kafka.topic-properties.integration-api |
TB_QUEUE_KAFKA_INTEGRATION_TOPIC_PROPERTIES |
retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:10;min.insync.replicas:1 |
Kafka properties for Integration Api topics |
| 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.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 |
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.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_eval_requests_timeout |
REMOTE_JS_MAX_EVAL_REQUEST_TIMEOUT |
60000 |
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 |
2000 |
规则引擎处理消息包的超时 |
| 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.rule-engine.queues.name |
TB_QUEUE_RE_SQ_QUEUE_NAME |
SequentialByOriginator |
queue name |
| queue.rule-engine.queues.name.topic |
TB_QUEUE_RE_SQ_TOPIC |
tb_rule_engine.sq |
queue topic |
| queue.rule-engine.queues.name.poll-interval |
TB_QUEUE_RE_SQ_POLL_INTERVAL_MS |
25 |
poll interval |
| queue.rule-engine.queues.name.partitions |
TB_QUEUE_RE_SQ_PARTITIONS |
10 |
number queue partitions |
| queue.rule-engine.queues.name.consumer-per-partition |
TB_QUEUE_RE_SQ_CONSUMER_PER_PARTITION |
true |
if true - use for each customer different partition |
| queue.rule-engine.queues.name.pack-processing-timeout |
TB_QUEUE_RE_SQ_PACK_PROCESSING_TIMEOUT_MS |
2000 |
Timeout for processing a message pack |
| queue.rule-engine.queues.name.submit-strategy.type |
TB_QUEUE_RE_SQ_SUBMIT_STRATEGY_TYPE |
SEQUENTIAL_BY_ORIGINATOR |
BURST, BATCH, SEQUENTIAL_BY_ORIGINATOR, SEQUENTIAL_BY_TENANT, SEQUENTIAL |
| queue.rule-engine.queues.name.submit-strategy.batch-size |
TB_QUEUE_RE_SQ_SUBMIT_STRATEGY_BATCH_SIZE |
100 |
Maximum number of messages in batch |
| queue.rule-engine.queues.name.processing-strategy.type |
TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_TYPE |
RETRY_FAILED_AND_TIMED_OUT |
SKIP_ALL_FAILURES, SKIP_ALL_FAILURES_AND_TIMED_OUT, RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT |
| queue.rule-engine.queues.name.processing-strategy.retries |
TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_RETRIES |
3 |
Number of retries, 0 is unlimited |
| queue.rule-engine.queues.name.processing-strategy.failure-percentage |
TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_FAILURE_PERCENTAGE |
0 |
Skip retry if failures or timeouts are less then X percentage of messages; |
| queue.rule-engine.queues.name.processing-strategy.pause-between-retries |
TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_RETRY_PAUSE |
5 |
Time in seconds to wait in consumer thread before retries; |
| queue.rule-engine.queues.name.processing-strategy.max-pause-between-retries |
TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_MAX_RETRY_PAUSE |
5 |
Max allowed time in seconds for pause between retries. |
| queue.integration.partitions |
TB_QUEUE_INTEGRATION_PARTITIONS |
3 |
Name of hash function used for consistent hash ring in Cluster Mode. See architecture docs for more details. Valid values - murmur3_32, murmur3_128 or sha256 |
| queue.integration.notifications_topic |
TB_QUEUE_INTEGRATION_NOTIFICATIONS_TOPIC |
tb_integration_executor.notifications |
For high-priority notifications that require minimum latency and processing time |
| queue.integration.downlink_topic |
TB_QUEUE_INTEGRATION_DOWNLINK_TOPIC |
tb_ie.downlink |
Default downlink topic name used by queue |
| queue.integration.downlink_topics |
TB_QUEUE_INTEGRATION_DOWNLINK_TOPICS |
|
Downlink topic names for integration type (semicolor separated). Example: "MQTT:tb_ie.downlink.mqtt,HTTP:tb_ie.downlink.http"
If not specified, the default topic will construct as before - 'downlink_topic' + IntegrationType.name() |
| queue.integration.uplink_topic |
TB_QUEUE_INTEGRATION_UPLINK_TOPIC |
tb_ie.uplink |
Default uplink topic name used by queue |
| queue.integration.poll_interval |
TB_QUEUE_INTEGRATION_POLL_INTERVAL_MS |
25 |
Interval in milliseconds to poll messages by integrations |
| queue.integration.pack-processing-timeout |
TB_QUEUE_INTEGRATION_PACK_PROCESSING_TIMEOUT_MS |
10000 |
Timeout for processing a message pack by integrations |
| queue.integration_api.requests_topic |
TB_QUEUE_INTEGRATION_EXECUTOR_API_REQUEST_TOPIC |
tb_ie.api.requests |
Default Integration Api request topic name used by queue |
| queue.integration_api.responses_topic |
TB_QUEUE_INTEGRATION_EXECUTOR_API_RESPONSE_TOPIC |
tb_ie.api.responses |
Default Integration Api response topic name used by queue |
| queue.integration_api.max_pending_requests |
TB_QUEUE_INTEGRATION_EXECUTOR_MAX_PENDING_REQUESTS |
10000 |
Maximum pending api requests from integration executor to be handled by server< |
| queue.integration_api.max_requests_timeout |
TB_QUEUE_INTEGRATION_EXECUTOR_MAX_REQUEST_TIMEOUT |
10000 |
Maximum timeout in milliseconds to handle api request from integration executor microservice by server |
| queue.integration_api.max_callback_threads |
TB_QUEUE_INTEGRATION_EXECUTOR_MAX_CALLBACK_THREADS |
10 |
Amount of threads used to invoke callbacks |
| queue.integration_api.request_poll_interval |
TB_QUEUE_INTEGRATION_EXECUTOR_REQUEST_POLL_INTERVAL_MS |
25 |
Interval in milliseconds to poll api requests from integration executor microservices |
| queue.integration_api.response_poll_interval |
TB_QUEUE_INTEGRATION_EXECUTOR_RESPONSE_POLL_INTERVAL_MS |
25 |
Interval in milliseconds to poll api response from integration executor microservices |