Improved configuration for HTTP and CoAP transport
This commit is contained in:
parent
6c4b50a380
commit
006fcd03ed
@ -41,24 +41,119 @@ transport:
|
|||||||
# Maximum allowed string value length when processing Telemetry/Attributes JSON (0 value disables string value length check)
|
# Maximum allowed string value length when processing Telemetry/Attributes JSON (0 value disables string value length check)
|
||||||
max_string_value_length: "${JSON_MAX_STRING_VALUE_LENGTH:0}"
|
max_string_value_length: "${JSON_MAX_STRING_VALUE_LENGTH:0}"
|
||||||
|
|
||||||
kafka:
|
queue:
|
||||||
enabled: true
|
type: "${TB_QUEUE_TYPE:in-memory}" # kafka or in-memory or aws-sqs or pubsub or service-bus
|
||||||
bootstrap.servers: "${TB_KAFKA_SERVERS:localhost:9092}"
|
kafka:
|
||||||
acks: "${TB_KAFKA_ACKS:all}"
|
bootstrap.servers: "${TB_KAFKA_SERVERS:localhost:9092}"
|
||||||
retries: "${TB_KAFKA_RETRIES:1}"
|
acks: "${TB_KAFKA_ACKS:all}"
|
||||||
batch.size: "${TB_KAFKA_BATCH_SIZE:16384}"
|
retries: "${TB_KAFKA_RETRIES:1}"
|
||||||
linger.ms: "${TB_KAFKA_LINGER_MS:1}"
|
batch.size: "${TB_KAFKA_BATCH_SIZE:16384}"
|
||||||
buffer.memory: "${TB_BUFFER_MEMORY:33554432}"
|
linger.ms: "${TB_KAFKA_LINGER_MS:1}"
|
||||||
|
buffer.memory: "${TB_BUFFER_MEMORY:33554432}"
|
||||||
|
aws_sqs:
|
||||||
|
access_key_id: "${TB_QUEUE_AWS_SQS_ACCESS_KEY_ID:YOUR_KEY}"
|
||||||
|
secret_access_key: "${TB_QUEUE_AWS_SQS_SECRET_ACCESS_KEY:YOUR_SECRET}"
|
||||||
|
region: "${TB_QUEUE_AWS_SQS_REGION:YOUR_REGION}"
|
||||||
|
threads_per_topic: "${TB_QUEUE_AWS_SQS_THREADS_PER_TOPIC:1}"
|
||||||
|
visibility_timeout: "${TB_QUEUE_AWS_SQS_VISIBILITY_TIMEOUT:30}" #In seconds. If messages wont commit in this time, messages will poll again
|
||||||
|
pubsub:
|
||||||
|
project_id: "${TB_QUEUE_PUBSUB_PROJECT_ID:YOUR_PROJECT_ID}"
|
||||||
|
service_account: "${TB_QUEUE_PUBSUB_SERVICE_ACCOUNT:YOUR_SERVICE_ACCOUNT}"
|
||||||
|
ack_deadline: "${TB_QUEUE_PUBSUB_ACK_DEADLINE:30}" #In seconds. If messages wont commit in this time, messages will poll again
|
||||||
|
max_msg_size: "${TB_QUEUE_PUBSUB_MAX_MSG_SIZE:1048576}" #in bytes
|
||||||
|
max_messages: "${TB_QUEUE_PUBSUB_MAX_MESSAGES:1000}"
|
||||||
|
service_bus:
|
||||||
|
namespace_name: "${TB_QUEUE_SERVICE_BUS_NAMESPACE_NAME:YOUR_NAMESPACE_NAME}"
|
||||||
|
sas_key_name: "${TB_QUEUE_SERVICE_BUS_SAS_KEY_NAME:YOUR_SAS_KEY_NAME}"
|
||||||
|
sas_key: "${TB_QUEUE_SERVICE_BUS_SAS_KEY:YOUR_SAS_KEY}"
|
||||||
|
max_messages: "${TB_QUEUE_SERVICE_BUS_MAX_MESSAGES:1000}"
|
||||||
|
rabbitmq:
|
||||||
|
exchange_name: "${TB_QUEUE_RABBIT_MQ_EXCHANGE_NAME:}"
|
||||||
|
host: "${TB_QUEUE_RABBIT_MQ_HOST:localhost}"
|
||||||
|
port: "${TB_QUEUE_RABBIT_MQ_PORT:5672}"
|
||||||
|
virtual_host: "${TB_QUEUE_RABBIT_MQ_VIRTUAL_HOST:/}"
|
||||||
|
username: "${TB_QUEUE_RABBIT_MQ_USERNAME:YOUR_USERNAME}"
|
||||||
|
password: "${TB_QUEUE_RABBIT_MQ_PASSWORD:YOUR_PASSWORD}"
|
||||||
|
automatic_recovery_enabled: "${TB_QUEUE_RABBIT_MQ_AUTOMATIC_RECOVERY_ENABLED:false}"
|
||||||
|
connection_timeout: "${TB_QUEUE_RABBIT_MQ_CONNECTION_TIMEOUT:60000}"
|
||||||
|
handshake_timeout: "${TB_QUEUE_RABBIT_MQ_HANDSHAKE_TIMEOUT:10000}"
|
||||||
|
partitions:
|
||||||
|
hash_function_name: "${TB_QUEUE_PARTITIONS_HASH_FUNCTION_NAME:murmur3_128}"
|
||||||
|
virtual_nodes_size: "${TB_QUEUE_PARTITIONS_VIRTUAL_NODES_SIZE:16}"
|
||||||
transport_api:
|
transport_api:
|
||||||
requests_topic: "${TB_TRANSPORT_API_REQUEST_TOPIC:tb.transport.api.requests}"
|
requests_topic: "${TB_QUEUE_TRANSPORT_API_REQUEST_TOPIC:tb.transport.api.requests}"
|
||||||
responses_topic: "${TB_TRANSPORT_API_RESPONSE_TOPIC:tb.transport.api.responses}"
|
responses_topic: "${TB_QUEUE_TRANSPORT_API_RESPONSE_TOPIC:tb.transport.api.responses}"
|
||||||
max_pending_requests: "${TB_TRANSPORT_MAX_PENDING_REQUESTS:10000}"
|
max_pending_requests: "${TB_QUEUE_TRANSPORT_MAX_PENDING_REQUESTS:10000}"
|
||||||
max_requests_timeout: "${TB_TRANSPORT_MAX_REQUEST_TIMEOUT:10000}"
|
max_requests_timeout: "${TB_QUEUE_TRANSPORT_MAX_REQUEST_TIMEOUT:10000}"
|
||||||
response_poll_interval: "${TB_TRANSPORT_RESPONSE_POLL_INTERVAL_MS:25}"
|
max_callback_threads: "${TB_QUEUE_TRANSPORT_MAX_CALLBACK_THREADS:100}"
|
||||||
response_auto_commit_interval: "${TB_TRANSPORT_RESPONSE_AUTO_COMMIT_INTERVAL_MS:100}"
|
request_poll_interval: "${TB_QUEUE_TRANSPORT_REQUEST_POLL_INTERVAL_MS:25}"
|
||||||
rule_engine:
|
response_poll_interval: "${TB_QUEUE_TRANSPORT_RESPONSE_POLL_INTERVAL_MS:25}"
|
||||||
topic: "${TB_RULE_ENGINE_TOPIC:tb.rule-engine}"
|
core:
|
||||||
notifications:
|
topic: "${TB_QUEUE_CORE_TOPIC:tb.core}"
|
||||||
topic: "${TB_TRANSPORT_NOTIFICATIONS_TOPIC:tb.transport.notifications}"
|
poll-interval: "${TB_QUEUE_CORE_POLL_INTERVAL_MS:25}"
|
||||||
poll_interval: "${TB_TRANSPORT_NOTIFICATIONS_POLL_INTERVAL_MS:25}"
|
partitions: "${TB_QUEUE_CORE_PARTITIONS:10}"
|
||||||
auto_commit_interval: "${TB_TRANSPORT_NOTIFICATIONS_AUTO_COMMIT_INTERVAL_MS:100}"
|
pack-processing-timeout: "${TB_QUEUE_CORE_PACK_PROCESSING_TIMEOUT_MS:60000}"
|
||||||
|
stats:
|
||||||
|
enabled: "${TB_QUEUE_CORE_STATS_ENABLED:false}"
|
||||||
|
print-interval-ms: "${TB_QUEUE_CORE_STATS_PRINT_INTERVAL_MS:10000}"
|
||||||
|
js:
|
||||||
|
# JS Eval request topic
|
||||||
|
request_topic: "${REMOTE_JS_EVAL_REQUEST_TOPIC:js.eval.requests}"
|
||||||
|
# JS Eval responses topic prefix that is combined with node id
|
||||||
|
response_topic_prefix: "${REMOTE_JS_EVAL_RESPONSE_TOPIC:js.eval.responses}"
|
||||||
|
# JS Eval max pending requests
|
||||||
|
max_pending_requests: "${REMOTE_JS_MAX_PENDING_REQUESTS:10000}"
|
||||||
|
# JS Eval max request timeout
|
||||||
|
max_requests_timeout: "${REMOTE_JS_MAX_REQUEST_TIMEOUT:10000}"
|
||||||
|
# JS response poll interval
|
||||||
|
response_poll_interval: "${REMOTE_JS_RESPONSE_POLL_INTERVAL_MS:25}"
|
||||||
|
# JS response auto commit interval
|
||||||
|
response_auto_commit_interval: "${REMOTE_JS_RESPONSE_AUTO_COMMIT_INTERVAL_MS:100}"
|
||||||
|
rule-engine:
|
||||||
|
topic: "${TB_QUEUE_RULE_ENGINE_TOPIC:tb.rule-engine}"
|
||||||
|
poll-interval: "${TB_QUEUE_RULE_ENGINE_POLL_INTERVAL_MS:25}"
|
||||||
|
pack-processing-timeout: "${TB_QUEUE_RULE_ENGINE_PACK_PROCESSING_TIMEOUT_MS:60000}"
|
||||||
|
stats:
|
||||||
|
enabled: "${TB_QUEUE_RULE_ENGINE_STATS_ENABLED:true}"
|
||||||
|
print-interval-ms: "${TB_QUEUE_RULE_ENGINE_STATS_PRINT_INTERVAL_MS:10000}"
|
||||||
|
queues:
|
||||||
|
- name: "Main"
|
||||||
|
topic: "${TB_QUEUE_RE_MAIN_TOPIC:tb.rule-engine.main}"
|
||||||
|
poll-interval: "${TB_QUEUE_RE_MAIN_POLL_INTERVAL_MS:25}"
|
||||||
|
partitions: "${TB_QUEUE_RE_MAIN_PARTITIONS:10}"
|
||||||
|
pack-processing-timeout: "${TB_QUEUE_RE_MAIN_PACK_PROCESSING_TIMEOUT_MS:60000}"
|
||||||
|
submit-strategy:
|
||||||
|
type: "${TB_QUEUE_RE_MAIN_SUBMIT_STRATEGY_TYPE:BURST}" # BURST, BATCH, SEQUENTIAL_WITHIN_ORIGINATOR, SEQUENTIAL_WITHIN_TENANT, SEQUENTIAL
|
||||||
|
# For BATCH only
|
||||||
|
batch-size: "${TB_QUEUE_RE_MAIN_SUBMIT_STRATEGY_BATCH_SIZE:1000}" # Maximum number of messages in batch
|
||||||
|
processing-strategy:
|
||||||
|
type: "${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_TYPE:RETRY_FAILED_AND_TIMED_OUT}" # SKIP_ALL_FAILURES, RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
|
||||||
|
# For RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
|
||||||
|
retries: "${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_RETRIES:3}" # Number of retries, 0 is unlimited
|
||||||
|
failure-percentage: "${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_FAILURE_PERCENTAGE:0}" # Skip retry if failures or timeouts are less then X percentage of messages;
|
||||||
|
pause-between-retries: "${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_RETRY_PAUSE:3}"# Time in seconds to wait in consumer thread before retries;
|
||||||
|
- name: "${TB_QUEUE_RE_HP_QUEUE_NAME:HighPriority}"
|
||||||
|
topic: "${TB_QUEUE_RE_HP_TOPIC:tb.rule-engine.hp}"
|
||||||
|
poll-interval: "${TB_QUEUE_RE_HP_POLL_INTERVAL_MS:25}"
|
||||||
|
partitions: "${TB_QUEUE_RE_HP_PARTITIONS:3}"
|
||||||
|
pack-processing-timeout: "${TB_QUEUE_RE_HP_PACK_PROCESSING_TIMEOUT_MS:60000}"
|
||||||
|
submit-strategy:
|
||||||
|
type: "${TB_QUEUE_RE_HP_SUBMIT_STRATEGY_TYPE:SEQUENTIAL_WITHIN_ORIGINATOR}" # BURST, BATCH, SEQUENTIAL_WITHIN_ORIGINATOR, SEQUENTIAL_WITHIN_TENANT, SEQUENTIAL
|
||||||
|
# For BATCH only
|
||||||
|
batch-size: "${TB_QUEUE_RE_HP_SUBMIT_STRATEGY_BATCH_SIZE:100}" # Maximum number of messages in batch
|
||||||
|
processing-strategy:
|
||||||
|
type: "${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_TYPE:RETRY_FAILED_AND_TIMED_OUT}" # SKIP_ALL_FAILURES, RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
|
||||||
|
# For RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
|
||||||
|
retries: "${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_RETRIES:0}" # Number of retries, 0 is unlimited
|
||||||
|
failure-percentage: "${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_FAILURE_PERCENTAGE:0}" # Skip retry if failures or timeouts are less then X percentage of messages;
|
||||||
|
pause-between-retries: "${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_RETRY_PAUSE:5}"# Time in seconds to wait in consumer thread before retries;
|
||||||
|
transport:
|
||||||
|
# For high priority notifications that require minimum latency and processing time
|
||||||
|
notifications_topic: "${TB_QUEUE_TRANSPORT_NOTIFICATIONS_TOPIC:tb.transport.notifications}"
|
||||||
|
poll_interval: "${TB_QUEUE_CORE_POLL_INTERVAL_MS:25}"
|
||||||
|
|
||||||
|
service:
|
||||||
|
type: "${TB_SERVICE_TYPE:tb-transport}"
|
||||||
|
# Unique id for this service (autogenerated if empty)
|
||||||
|
id: "${TB_SERVICE_ID:}"
|
||||||
|
tenant_id: "${TB_SERVICE_TENANT_ID:}" # empty or specific tenant id.
|
||||||
@ -42,24 +42,119 @@ transport:
|
|||||||
# Maximum allowed string value length when processing Telemetry/Attributes JSON (0 value disables string value length check)
|
# Maximum allowed string value length when processing Telemetry/Attributes JSON (0 value disables string value length check)
|
||||||
max_string_value_length: "${JSON_MAX_STRING_VALUE_LENGTH:0}"
|
max_string_value_length: "${JSON_MAX_STRING_VALUE_LENGTH:0}"
|
||||||
|
|
||||||
kafka:
|
queue:
|
||||||
enabled: true
|
type: "${TB_QUEUE_TYPE:in-memory}" # kafka or in-memory or aws-sqs or pubsub or service-bus
|
||||||
bootstrap.servers: "${TB_KAFKA_SERVERS:localhost:9092}"
|
kafka:
|
||||||
acks: "${TB_KAFKA_ACKS:all}"
|
bootstrap.servers: "${TB_KAFKA_SERVERS:localhost:9092}"
|
||||||
retries: "${TB_KAFKA_RETRIES:1}"
|
acks: "${TB_KAFKA_ACKS:all}"
|
||||||
batch.size: "${TB_KAFKA_BATCH_SIZE:16384}"
|
retries: "${TB_KAFKA_RETRIES:1}"
|
||||||
linger.ms: "${TB_KAFKA_LINGER_MS:1}"
|
batch.size: "${TB_KAFKA_BATCH_SIZE:16384}"
|
||||||
buffer.memory: "${TB_BUFFER_MEMORY:33554432}"
|
linger.ms: "${TB_KAFKA_LINGER_MS:1}"
|
||||||
|
buffer.memory: "${TB_BUFFER_MEMORY:33554432}"
|
||||||
|
aws_sqs:
|
||||||
|
access_key_id: "${TB_QUEUE_AWS_SQS_ACCESS_KEY_ID:YOUR_KEY}"
|
||||||
|
secret_access_key: "${TB_QUEUE_AWS_SQS_SECRET_ACCESS_KEY:YOUR_SECRET}"
|
||||||
|
region: "${TB_QUEUE_AWS_SQS_REGION:YOUR_REGION}"
|
||||||
|
threads_per_topic: "${TB_QUEUE_AWS_SQS_THREADS_PER_TOPIC:1}"
|
||||||
|
visibility_timeout: "${TB_QUEUE_AWS_SQS_VISIBILITY_TIMEOUT:30}" #In seconds. If messages wont commit in this time, messages will poll again
|
||||||
|
pubsub:
|
||||||
|
project_id: "${TB_QUEUE_PUBSUB_PROJECT_ID:YOUR_PROJECT_ID}"
|
||||||
|
service_account: "${TB_QUEUE_PUBSUB_SERVICE_ACCOUNT:YOUR_SERVICE_ACCOUNT}"
|
||||||
|
ack_deadline: "${TB_QUEUE_PUBSUB_ACK_DEADLINE:30}" #In seconds. If messages wont commit in this time, messages will poll again
|
||||||
|
max_msg_size: "${TB_QUEUE_PUBSUB_MAX_MSG_SIZE:1048576}" #in bytes
|
||||||
|
max_messages: "${TB_QUEUE_PUBSUB_MAX_MESSAGES:1000}"
|
||||||
|
service_bus:
|
||||||
|
namespace_name: "${TB_QUEUE_SERVICE_BUS_NAMESPACE_NAME:YOUR_NAMESPACE_NAME}"
|
||||||
|
sas_key_name: "${TB_QUEUE_SERVICE_BUS_SAS_KEY_NAME:YOUR_SAS_KEY_NAME}"
|
||||||
|
sas_key: "${TB_QUEUE_SERVICE_BUS_SAS_KEY:YOUR_SAS_KEY}"
|
||||||
|
max_messages: "${TB_QUEUE_SERVICE_BUS_MAX_MESSAGES:1000}"
|
||||||
|
rabbitmq:
|
||||||
|
exchange_name: "${TB_QUEUE_RABBIT_MQ_EXCHANGE_NAME:}"
|
||||||
|
host: "${TB_QUEUE_RABBIT_MQ_HOST:localhost}"
|
||||||
|
port: "${TB_QUEUE_RABBIT_MQ_PORT:5672}"
|
||||||
|
virtual_host: "${TB_QUEUE_RABBIT_MQ_VIRTUAL_HOST:/}"
|
||||||
|
username: "${TB_QUEUE_RABBIT_MQ_USERNAME:YOUR_USERNAME}"
|
||||||
|
password: "${TB_QUEUE_RABBIT_MQ_PASSWORD:YOUR_PASSWORD}"
|
||||||
|
automatic_recovery_enabled: "${TB_QUEUE_RABBIT_MQ_AUTOMATIC_RECOVERY_ENABLED:false}"
|
||||||
|
connection_timeout: "${TB_QUEUE_RABBIT_MQ_CONNECTION_TIMEOUT:60000}"
|
||||||
|
handshake_timeout: "${TB_QUEUE_RABBIT_MQ_HANDSHAKE_TIMEOUT:10000}"
|
||||||
|
partitions:
|
||||||
|
hash_function_name: "${TB_QUEUE_PARTITIONS_HASH_FUNCTION_NAME:murmur3_128}"
|
||||||
|
virtual_nodes_size: "${TB_QUEUE_PARTITIONS_VIRTUAL_NODES_SIZE:16}"
|
||||||
transport_api:
|
transport_api:
|
||||||
requests_topic: "${TB_TRANSPORT_API_REQUEST_TOPIC:tb.transport.api.requests}"
|
requests_topic: "${TB_QUEUE_TRANSPORT_API_REQUEST_TOPIC:tb.transport.api.requests}"
|
||||||
responses_topic: "${TB_TRANSPORT_API_RESPONSE_TOPIC:tb.transport.api.responses}"
|
responses_topic: "${TB_QUEUE_TRANSPORT_API_RESPONSE_TOPIC:tb.transport.api.responses}"
|
||||||
max_pending_requests: "${TB_TRANSPORT_MAX_PENDING_REQUESTS:10000}"
|
max_pending_requests: "${TB_QUEUE_TRANSPORT_MAX_PENDING_REQUESTS:10000}"
|
||||||
max_requests_timeout: "${TB_TRANSPORT_MAX_REQUEST_TIMEOUT:10000}"
|
max_requests_timeout: "${TB_QUEUE_TRANSPORT_MAX_REQUEST_TIMEOUT:10000}"
|
||||||
response_poll_interval: "${TB_TRANSPORT_RESPONSE_POLL_INTERVAL_MS:25}"
|
max_callback_threads: "${TB_QUEUE_TRANSPORT_MAX_CALLBACK_THREADS:100}"
|
||||||
response_auto_commit_interval: "${TB_TRANSPORT_RESPONSE_AUTO_COMMIT_INTERVAL_MS:100}"
|
request_poll_interval: "${TB_QUEUE_TRANSPORT_REQUEST_POLL_INTERVAL_MS:25}"
|
||||||
rule_engine:
|
response_poll_interval: "${TB_QUEUE_TRANSPORT_RESPONSE_POLL_INTERVAL_MS:25}"
|
||||||
topic: "${TB_RULE_ENGINE_TOPIC:tb.rule-engine}"
|
core:
|
||||||
notifications:
|
topic: "${TB_QUEUE_CORE_TOPIC:tb.core}"
|
||||||
topic: "${TB_TRANSPORT_NOTIFICATIONS_TOPIC:tb.transport.notifications}"
|
poll-interval: "${TB_QUEUE_CORE_POLL_INTERVAL_MS:25}"
|
||||||
poll_interval: "${TB_TRANSPORT_NOTIFICATIONS_POLL_INTERVAL_MS:25}"
|
partitions: "${TB_QUEUE_CORE_PARTITIONS:10}"
|
||||||
auto_commit_interval: "${TB_TRANSPORT_NOTIFICATIONS_AUTO_COMMIT_INTERVAL_MS:100}"
|
pack-processing-timeout: "${TB_QUEUE_CORE_PACK_PROCESSING_TIMEOUT_MS:60000}"
|
||||||
|
stats:
|
||||||
|
enabled: "${TB_QUEUE_CORE_STATS_ENABLED:false}"
|
||||||
|
print-interval-ms: "${TB_QUEUE_CORE_STATS_PRINT_INTERVAL_MS:10000}"
|
||||||
|
js:
|
||||||
|
# JS Eval request topic
|
||||||
|
request_topic: "${REMOTE_JS_EVAL_REQUEST_TOPIC:js.eval.requests}"
|
||||||
|
# JS Eval responses topic prefix that is combined with node id
|
||||||
|
response_topic_prefix: "${REMOTE_JS_EVAL_RESPONSE_TOPIC:js.eval.responses}"
|
||||||
|
# JS Eval max pending requests
|
||||||
|
max_pending_requests: "${REMOTE_JS_MAX_PENDING_REQUESTS:10000}"
|
||||||
|
# JS Eval max request timeout
|
||||||
|
max_requests_timeout: "${REMOTE_JS_MAX_REQUEST_TIMEOUT:10000}"
|
||||||
|
# JS response poll interval
|
||||||
|
response_poll_interval: "${REMOTE_JS_RESPONSE_POLL_INTERVAL_MS:25}"
|
||||||
|
# JS response auto commit interval
|
||||||
|
response_auto_commit_interval: "${REMOTE_JS_RESPONSE_AUTO_COMMIT_INTERVAL_MS:100}"
|
||||||
|
rule-engine:
|
||||||
|
topic: "${TB_QUEUE_RULE_ENGINE_TOPIC:tb.rule-engine}"
|
||||||
|
poll-interval: "${TB_QUEUE_RULE_ENGINE_POLL_INTERVAL_MS:25}"
|
||||||
|
pack-processing-timeout: "${TB_QUEUE_RULE_ENGINE_PACK_PROCESSING_TIMEOUT_MS:60000}"
|
||||||
|
stats:
|
||||||
|
enabled: "${TB_QUEUE_RULE_ENGINE_STATS_ENABLED:true}"
|
||||||
|
print-interval-ms: "${TB_QUEUE_RULE_ENGINE_STATS_PRINT_INTERVAL_MS:10000}"
|
||||||
|
queues:
|
||||||
|
- name: "Main"
|
||||||
|
topic: "${TB_QUEUE_RE_MAIN_TOPIC:tb.rule-engine.main}"
|
||||||
|
poll-interval: "${TB_QUEUE_RE_MAIN_POLL_INTERVAL_MS:25}"
|
||||||
|
partitions: "${TB_QUEUE_RE_MAIN_PARTITIONS:10}"
|
||||||
|
pack-processing-timeout: "${TB_QUEUE_RE_MAIN_PACK_PROCESSING_TIMEOUT_MS:60000}"
|
||||||
|
submit-strategy:
|
||||||
|
type: "${TB_QUEUE_RE_MAIN_SUBMIT_STRATEGY_TYPE:BURST}" # BURST, BATCH, SEQUENTIAL_WITHIN_ORIGINATOR, SEQUENTIAL_WITHIN_TENANT, SEQUENTIAL
|
||||||
|
# For BATCH only
|
||||||
|
batch-size: "${TB_QUEUE_RE_MAIN_SUBMIT_STRATEGY_BATCH_SIZE:1000}" # Maximum number of messages in batch
|
||||||
|
processing-strategy:
|
||||||
|
type: "${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_TYPE:RETRY_FAILED_AND_TIMED_OUT}" # SKIP_ALL_FAILURES, RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
|
||||||
|
# For RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
|
||||||
|
retries: "${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_RETRIES:3}" # Number of retries, 0 is unlimited
|
||||||
|
failure-percentage: "${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_FAILURE_PERCENTAGE:0}" # Skip retry if failures or timeouts are less then X percentage of messages;
|
||||||
|
pause-between-retries: "${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_RETRY_PAUSE:3}"# Time in seconds to wait in consumer thread before retries;
|
||||||
|
- name: "${TB_QUEUE_RE_HP_QUEUE_NAME:HighPriority}"
|
||||||
|
topic: "${TB_QUEUE_RE_HP_TOPIC:tb.rule-engine.hp}"
|
||||||
|
poll-interval: "${TB_QUEUE_RE_HP_POLL_INTERVAL_MS:25}"
|
||||||
|
partitions: "${TB_QUEUE_RE_HP_PARTITIONS:3}"
|
||||||
|
pack-processing-timeout: "${TB_QUEUE_RE_HP_PACK_PROCESSING_TIMEOUT_MS:60000}"
|
||||||
|
submit-strategy:
|
||||||
|
type: "${TB_QUEUE_RE_HP_SUBMIT_STRATEGY_TYPE:SEQUENTIAL_WITHIN_ORIGINATOR}" # BURST, BATCH, SEQUENTIAL_WITHIN_ORIGINATOR, SEQUENTIAL_WITHIN_TENANT, SEQUENTIAL
|
||||||
|
# For BATCH only
|
||||||
|
batch-size: "${TB_QUEUE_RE_HP_SUBMIT_STRATEGY_BATCH_SIZE:100}" # Maximum number of messages in batch
|
||||||
|
processing-strategy:
|
||||||
|
type: "${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_TYPE:RETRY_FAILED_AND_TIMED_OUT}" # SKIP_ALL_FAILURES, RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
|
||||||
|
# For RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
|
||||||
|
retries: "${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_RETRIES:0}" # Number of retries, 0 is unlimited
|
||||||
|
failure-percentage: "${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_FAILURE_PERCENTAGE:0}" # Skip retry if failures or timeouts are less then X percentage of messages;
|
||||||
|
pause-between-retries: "${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_RETRY_PAUSE:5}"# Time in seconds to wait in consumer thread before retries;
|
||||||
|
transport:
|
||||||
|
# For high priority notifications that require minimum latency and processing time
|
||||||
|
notifications_topic: "${TB_QUEUE_TRANSPORT_NOTIFICATIONS_TOPIC:tb.transport.notifications}"
|
||||||
|
poll_interval: "${TB_QUEUE_CORE_POLL_INTERVAL_MS:25}"
|
||||||
|
|
||||||
|
service:
|
||||||
|
type: "${TB_SERVICE_TYPE:tb-transport}"
|
||||||
|
# Unique id for this service (autogenerated if empty)
|
||||||
|
id: "${TB_SERVICE_ID:}"
|
||||||
|
tenant_id: "${TB_SERVICE_TENANT_ID:}" # empty or specific tenant id.
|
||||||
Loading…
x
Reference in New Issue
Block a user