Commit 006fcd03ed09eff402074c33bc2426f7b1d0f706
1 parent
6c4b50a3
Improved configuration for HTTP and CoAP transport
Showing
2 changed files
with
230 additions
and
40 deletions
... | ... | @@ -41,24 +41,119 @@ transport: |
41 | 41 | # Maximum allowed string value length when processing Telemetry/Attributes JSON (0 value disables string value length check) |
42 | 42 | max_string_value_length: "${JSON_MAX_STRING_VALUE_LENGTH:0}" |
43 | 43 | |
44 | -kafka: | |
45 | - enabled: true | |
46 | - bootstrap.servers: "${TB_KAFKA_SERVERS:localhost:9092}" | |
47 | - acks: "${TB_KAFKA_ACKS:all}" | |
48 | - retries: "${TB_KAFKA_RETRIES:1}" | |
49 | - batch.size: "${TB_KAFKA_BATCH_SIZE:16384}" | |
50 | - linger.ms: "${TB_KAFKA_LINGER_MS:1}" | |
51 | - buffer.memory: "${TB_BUFFER_MEMORY:33554432}" | |
44 | +queue: | |
45 | + type: "${TB_QUEUE_TYPE:in-memory}" # kafka or in-memory or aws-sqs or pubsub or service-bus | |
46 | + kafka: | |
47 | + bootstrap.servers: "${TB_KAFKA_SERVERS:localhost:9092}" | |
48 | + acks: "${TB_KAFKA_ACKS:all}" | |
49 | + retries: "${TB_KAFKA_RETRIES:1}" | |
50 | + batch.size: "${TB_KAFKA_BATCH_SIZE:16384}" | |
51 | + linger.ms: "${TB_KAFKA_LINGER_MS:1}" | |
52 | + buffer.memory: "${TB_BUFFER_MEMORY:33554432}" | |
53 | + aws_sqs: | |
54 | + access_key_id: "${TB_QUEUE_AWS_SQS_ACCESS_KEY_ID:YOUR_KEY}" | |
55 | + secret_access_key: "${TB_QUEUE_AWS_SQS_SECRET_ACCESS_KEY:YOUR_SECRET}" | |
56 | + region: "${TB_QUEUE_AWS_SQS_REGION:YOUR_REGION}" | |
57 | + threads_per_topic: "${TB_QUEUE_AWS_SQS_THREADS_PER_TOPIC:1}" | |
58 | + visibility_timeout: "${TB_QUEUE_AWS_SQS_VISIBILITY_TIMEOUT:30}" #In seconds. If messages wont commit in this time, messages will poll again | |
59 | + pubsub: | |
60 | + project_id: "${TB_QUEUE_PUBSUB_PROJECT_ID:YOUR_PROJECT_ID}" | |
61 | + service_account: "${TB_QUEUE_PUBSUB_SERVICE_ACCOUNT:YOUR_SERVICE_ACCOUNT}" | |
62 | + ack_deadline: "${TB_QUEUE_PUBSUB_ACK_DEADLINE:30}" #In seconds. If messages wont commit in this time, messages will poll again | |
63 | + max_msg_size: "${TB_QUEUE_PUBSUB_MAX_MSG_SIZE:1048576}" #in bytes | |
64 | + max_messages: "${TB_QUEUE_PUBSUB_MAX_MESSAGES:1000}" | |
65 | + service_bus: | |
66 | + namespace_name: "${TB_QUEUE_SERVICE_BUS_NAMESPACE_NAME:YOUR_NAMESPACE_NAME}" | |
67 | + sas_key_name: "${TB_QUEUE_SERVICE_BUS_SAS_KEY_NAME:YOUR_SAS_KEY_NAME}" | |
68 | + sas_key: "${TB_QUEUE_SERVICE_BUS_SAS_KEY:YOUR_SAS_KEY}" | |
69 | + max_messages: "${TB_QUEUE_SERVICE_BUS_MAX_MESSAGES:1000}" | |
70 | + rabbitmq: | |
71 | + exchange_name: "${TB_QUEUE_RABBIT_MQ_EXCHANGE_NAME:}" | |
72 | + host: "${TB_QUEUE_RABBIT_MQ_HOST:localhost}" | |
73 | + port: "${TB_QUEUE_RABBIT_MQ_PORT:5672}" | |
74 | + virtual_host: "${TB_QUEUE_RABBIT_MQ_VIRTUAL_HOST:/}" | |
75 | + username: "${TB_QUEUE_RABBIT_MQ_USERNAME:YOUR_USERNAME}" | |
76 | + password: "${TB_QUEUE_RABBIT_MQ_PASSWORD:YOUR_PASSWORD}" | |
77 | + automatic_recovery_enabled: "${TB_QUEUE_RABBIT_MQ_AUTOMATIC_RECOVERY_ENABLED:false}" | |
78 | + connection_timeout: "${TB_QUEUE_RABBIT_MQ_CONNECTION_TIMEOUT:60000}" | |
79 | + handshake_timeout: "${TB_QUEUE_RABBIT_MQ_HANDSHAKE_TIMEOUT:10000}" | |
80 | + partitions: | |
81 | + hash_function_name: "${TB_QUEUE_PARTITIONS_HASH_FUNCTION_NAME:murmur3_128}" | |
82 | + virtual_nodes_size: "${TB_QUEUE_PARTITIONS_VIRTUAL_NODES_SIZE:16}" | |
52 | 83 | transport_api: |
53 | - requests_topic: "${TB_TRANSPORT_API_REQUEST_TOPIC:tb.transport.api.requests}" | |
54 | - responses_topic: "${TB_TRANSPORT_API_RESPONSE_TOPIC:tb.transport.api.responses}" | |
55 | - max_pending_requests: "${TB_TRANSPORT_MAX_PENDING_REQUESTS:10000}" | |
56 | - max_requests_timeout: "${TB_TRANSPORT_MAX_REQUEST_TIMEOUT:10000}" | |
57 | - response_poll_interval: "${TB_TRANSPORT_RESPONSE_POLL_INTERVAL_MS:25}" | |
58 | - response_auto_commit_interval: "${TB_TRANSPORT_RESPONSE_AUTO_COMMIT_INTERVAL_MS:100}" | |
59 | - rule_engine: | |
60 | - topic: "${TB_RULE_ENGINE_TOPIC:tb.rule-engine}" | |
61 | - notifications: | |
62 | - topic: "${TB_TRANSPORT_NOTIFICATIONS_TOPIC:tb.transport.notifications}" | |
63 | - poll_interval: "${TB_TRANSPORT_NOTIFICATIONS_POLL_INTERVAL_MS:25}" | |
64 | - auto_commit_interval: "${TB_TRANSPORT_NOTIFICATIONS_AUTO_COMMIT_INTERVAL_MS:100}" | |
84 | + requests_topic: "${TB_QUEUE_TRANSPORT_API_REQUEST_TOPIC:tb.transport.api.requests}" | |
85 | + responses_topic: "${TB_QUEUE_TRANSPORT_API_RESPONSE_TOPIC:tb.transport.api.responses}" | |
86 | + max_pending_requests: "${TB_QUEUE_TRANSPORT_MAX_PENDING_REQUESTS:10000}" | |
87 | + max_requests_timeout: "${TB_QUEUE_TRANSPORT_MAX_REQUEST_TIMEOUT:10000}" | |
88 | + max_callback_threads: "${TB_QUEUE_TRANSPORT_MAX_CALLBACK_THREADS:100}" | |
89 | + request_poll_interval: "${TB_QUEUE_TRANSPORT_REQUEST_POLL_INTERVAL_MS:25}" | |
90 | + response_poll_interval: "${TB_QUEUE_TRANSPORT_RESPONSE_POLL_INTERVAL_MS:25}" | |
91 | + core: | |
92 | + topic: "${TB_QUEUE_CORE_TOPIC:tb.core}" | |
93 | + poll-interval: "${TB_QUEUE_CORE_POLL_INTERVAL_MS:25}" | |
94 | + partitions: "${TB_QUEUE_CORE_PARTITIONS:10}" | |
95 | + pack-processing-timeout: "${TB_QUEUE_CORE_PACK_PROCESSING_TIMEOUT_MS:60000}" | |
96 | + stats: | |
97 | + enabled: "${TB_QUEUE_CORE_STATS_ENABLED:false}" | |
98 | + print-interval-ms: "${TB_QUEUE_CORE_STATS_PRINT_INTERVAL_MS:10000}" | |
99 | + js: | |
100 | + # JS Eval request topic | |
101 | + request_topic: "${REMOTE_JS_EVAL_REQUEST_TOPIC:js.eval.requests}" | |
102 | + # JS Eval responses topic prefix that is combined with node id | |
103 | + response_topic_prefix: "${REMOTE_JS_EVAL_RESPONSE_TOPIC:js.eval.responses}" | |
104 | + # JS Eval max pending requests | |
105 | + max_pending_requests: "${REMOTE_JS_MAX_PENDING_REQUESTS:10000}" | |
106 | + # JS Eval max request timeout | |
107 | + max_requests_timeout: "${REMOTE_JS_MAX_REQUEST_TIMEOUT:10000}" | |
108 | + # JS response poll interval | |
109 | + response_poll_interval: "${REMOTE_JS_RESPONSE_POLL_INTERVAL_MS:25}" | |
110 | + # JS response auto commit interval | |
111 | + response_auto_commit_interval: "${REMOTE_JS_RESPONSE_AUTO_COMMIT_INTERVAL_MS:100}" | |
112 | + rule-engine: | |
113 | + topic: "${TB_QUEUE_RULE_ENGINE_TOPIC:tb.rule-engine}" | |
114 | + poll-interval: "${TB_QUEUE_RULE_ENGINE_POLL_INTERVAL_MS:25}" | |
115 | + pack-processing-timeout: "${TB_QUEUE_RULE_ENGINE_PACK_PROCESSING_TIMEOUT_MS:60000}" | |
116 | + stats: | |
117 | + enabled: "${TB_QUEUE_RULE_ENGINE_STATS_ENABLED:true}" | |
118 | + print-interval-ms: "${TB_QUEUE_RULE_ENGINE_STATS_PRINT_INTERVAL_MS:10000}" | |
119 | + queues: | |
120 | + - name: "Main" | |
121 | + topic: "${TB_QUEUE_RE_MAIN_TOPIC:tb.rule-engine.main}" | |
122 | + poll-interval: "${TB_QUEUE_RE_MAIN_POLL_INTERVAL_MS:25}" | |
123 | + partitions: "${TB_QUEUE_RE_MAIN_PARTITIONS:10}" | |
124 | + pack-processing-timeout: "${TB_QUEUE_RE_MAIN_PACK_PROCESSING_TIMEOUT_MS:60000}" | |
125 | + submit-strategy: | |
126 | + type: "${TB_QUEUE_RE_MAIN_SUBMIT_STRATEGY_TYPE:BURST}" # BURST, BATCH, SEQUENTIAL_WITHIN_ORIGINATOR, SEQUENTIAL_WITHIN_TENANT, SEQUENTIAL | |
127 | + # For BATCH only | |
128 | + batch-size: "${TB_QUEUE_RE_MAIN_SUBMIT_STRATEGY_BATCH_SIZE:1000}" # Maximum number of messages in batch | |
129 | + processing-strategy: | |
130 | + 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 | |
131 | + # For RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT | |
132 | + retries: "${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_RETRIES:3}" # Number of retries, 0 is unlimited | |
133 | + failure-percentage: "${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_FAILURE_PERCENTAGE:0}" # Skip retry if failures or timeouts are less then X percentage of messages; | |
134 | + pause-between-retries: "${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_RETRY_PAUSE:3}"# Time in seconds to wait in consumer thread before retries; | |
135 | + - name: "${TB_QUEUE_RE_HP_QUEUE_NAME:HighPriority}" | |
136 | + topic: "${TB_QUEUE_RE_HP_TOPIC:tb.rule-engine.hp}" | |
137 | + poll-interval: "${TB_QUEUE_RE_HP_POLL_INTERVAL_MS:25}" | |
138 | + partitions: "${TB_QUEUE_RE_HP_PARTITIONS:3}" | |
139 | + pack-processing-timeout: "${TB_QUEUE_RE_HP_PACK_PROCESSING_TIMEOUT_MS:60000}" | |
140 | + submit-strategy: | |
141 | + type: "${TB_QUEUE_RE_HP_SUBMIT_STRATEGY_TYPE:SEQUENTIAL_WITHIN_ORIGINATOR}" # BURST, BATCH, SEQUENTIAL_WITHIN_ORIGINATOR, SEQUENTIAL_WITHIN_TENANT, SEQUENTIAL | |
142 | + # For BATCH only | |
143 | + batch-size: "${TB_QUEUE_RE_HP_SUBMIT_STRATEGY_BATCH_SIZE:100}" # Maximum number of messages in batch | |
144 | + processing-strategy: | |
145 | + 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 | |
146 | + # For RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT | |
147 | + retries: "${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_RETRIES:0}" # Number of retries, 0 is unlimited | |
148 | + failure-percentage: "${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_FAILURE_PERCENTAGE:0}" # Skip retry if failures or timeouts are less then X percentage of messages; | |
149 | + pause-between-retries: "${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_RETRY_PAUSE:5}"# Time in seconds to wait in consumer thread before retries; | |
150 | + transport: | |
151 | + # For high priority notifications that require minimum latency and processing time | |
152 | + notifications_topic: "${TB_QUEUE_TRANSPORT_NOTIFICATIONS_TOPIC:tb.transport.notifications}" | |
153 | + poll_interval: "${TB_QUEUE_CORE_POLL_INTERVAL_MS:25}" | |
154 | + | |
155 | +service: | |
156 | + type: "${TB_SERVICE_TYPE:tb-transport}" | |
157 | + # Unique id for this service (autogenerated if empty) | |
158 | + id: "${TB_SERVICE_ID:}" | |
159 | + tenant_id: "${TB_SERVICE_TENANT_ID:}" # empty or specific tenant id. | |
\ No newline at end of file | ... | ... |
... | ... | @@ -42,24 +42,119 @@ transport: |
42 | 42 | # Maximum allowed string value length when processing Telemetry/Attributes JSON (0 value disables string value length check) |
43 | 43 | max_string_value_length: "${JSON_MAX_STRING_VALUE_LENGTH:0}" |
44 | 44 | |
45 | -kafka: | |
46 | - enabled: true | |
47 | - bootstrap.servers: "${TB_KAFKA_SERVERS:localhost:9092}" | |
48 | - acks: "${TB_KAFKA_ACKS:all}" | |
49 | - retries: "${TB_KAFKA_RETRIES:1}" | |
50 | - batch.size: "${TB_KAFKA_BATCH_SIZE:16384}" | |
51 | - linger.ms: "${TB_KAFKA_LINGER_MS:1}" | |
52 | - buffer.memory: "${TB_BUFFER_MEMORY:33554432}" | |
45 | +queue: | |
46 | + type: "${TB_QUEUE_TYPE:in-memory}" # kafka or in-memory or aws-sqs or pubsub or service-bus | |
47 | + kafka: | |
48 | + bootstrap.servers: "${TB_KAFKA_SERVERS:localhost:9092}" | |
49 | + acks: "${TB_KAFKA_ACKS:all}" | |
50 | + retries: "${TB_KAFKA_RETRIES:1}" | |
51 | + batch.size: "${TB_KAFKA_BATCH_SIZE:16384}" | |
52 | + linger.ms: "${TB_KAFKA_LINGER_MS:1}" | |
53 | + buffer.memory: "${TB_BUFFER_MEMORY:33554432}" | |
54 | + aws_sqs: | |
55 | + access_key_id: "${TB_QUEUE_AWS_SQS_ACCESS_KEY_ID:YOUR_KEY}" | |
56 | + secret_access_key: "${TB_QUEUE_AWS_SQS_SECRET_ACCESS_KEY:YOUR_SECRET}" | |
57 | + region: "${TB_QUEUE_AWS_SQS_REGION:YOUR_REGION}" | |
58 | + threads_per_topic: "${TB_QUEUE_AWS_SQS_THREADS_PER_TOPIC:1}" | |
59 | + visibility_timeout: "${TB_QUEUE_AWS_SQS_VISIBILITY_TIMEOUT:30}" #In seconds. If messages wont commit in this time, messages will poll again | |
60 | + pubsub: | |
61 | + project_id: "${TB_QUEUE_PUBSUB_PROJECT_ID:YOUR_PROJECT_ID}" | |
62 | + service_account: "${TB_QUEUE_PUBSUB_SERVICE_ACCOUNT:YOUR_SERVICE_ACCOUNT}" | |
63 | + ack_deadline: "${TB_QUEUE_PUBSUB_ACK_DEADLINE:30}" #In seconds. If messages wont commit in this time, messages will poll again | |
64 | + max_msg_size: "${TB_QUEUE_PUBSUB_MAX_MSG_SIZE:1048576}" #in bytes | |
65 | + max_messages: "${TB_QUEUE_PUBSUB_MAX_MESSAGES:1000}" | |
66 | + service_bus: | |
67 | + namespace_name: "${TB_QUEUE_SERVICE_BUS_NAMESPACE_NAME:YOUR_NAMESPACE_NAME}" | |
68 | + sas_key_name: "${TB_QUEUE_SERVICE_BUS_SAS_KEY_NAME:YOUR_SAS_KEY_NAME}" | |
69 | + sas_key: "${TB_QUEUE_SERVICE_BUS_SAS_KEY:YOUR_SAS_KEY}" | |
70 | + max_messages: "${TB_QUEUE_SERVICE_BUS_MAX_MESSAGES:1000}" | |
71 | + rabbitmq: | |
72 | + exchange_name: "${TB_QUEUE_RABBIT_MQ_EXCHANGE_NAME:}" | |
73 | + host: "${TB_QUEUE_RABBIT_MQ_HOST:localhost}" | |
74 | + port: "${TB_QUEUE_RABBIT_MQ_PORT:5672}" | |
75 | + virtual_host: "${TB_QUEUE_RABBIT_MQ_VIRTUAL_HOST:/}" | |
76 | + username: "${TB_QUEUE_RABBIT_MQ_USERNAME:YOUR_USERNAME}" | |
77 | + password: "${TB_QUEUE_RABBIT_MQ_PASSWORD:YOUR_PASSWORD}" | |
78 | + automatic_recovery_enabled: "${TB_QUEUE_RABBIT_MQ_AUTOMATIC_RECOVERY_ENABLED:false}" | |
79 | + connection_timeout: "${TB_QUEUE_RABBIT_MQ_CONNECTION_TIMEOUT:60000}" | |
80 | + handshake_timeout: "${TB_QUEUE_RABBIT_MQ_HANDSHAKE_TIMEOUT:10000}" | |
81 | + partitions: | |
82 | + hash_function_name: "${TB_QUEUE_PARTITIONS_HASH_FUNCTION_NAME:murmur3_128}" | |
83 | + virtual_nodes_size: "${TB_QUEUE_PARTITIONS_VIRTUAL_NODES_SIZE:16}" | |
53 | 84 | transport_api: |
54 | - requests_topic: "${TB_TRANSPORT_API_REQUEST_TOPIC:tb.transport.api.requests}" | |
55 | - responses_topic: "${TB_TRANSPORT_API_RESPONSE_TOPIC:tb.transport.api.responses}" | |
56 | - max_pending_requests: "${TB_TRANSPORT_MAX_PENDING_REQUESTS:10000}" | |
57 | - max_requests_timeout: "${TB_TRANSPORT_MAX_REQUEST_TIMEOUT:10000}" | |
58 | - response_poll_interval: "${TB_TRANSPORT_RESPONSE_POLL_INTERVAL_MS:25}" | |
59 | - response_auto_commit_interval: "${TB_TRANSPORT_RESPONSE_AUTO_COMMIT_INTERVAL_MS:100}" | |
60 | - rule_engine: | |
61 | - topic: "${TB_RULE_ENGINE_TOPIC:tb.rule-engine}" | |
62 | - notifications: | |
63 | - topic: "${TB_TRANSPORT_NOTIFICATIONS_TOPIC:tb.transport.notifications}" | |
64 | - poll_interval: "${TB_TRANSPORT_NOTIFICATIONS_POLL_INTERVAL_MS:25}" | |
65 | - auto_commit_interval: "${TB_TRANSPORT_NOTIFICATIONS_AUTO_COMMIT_INTERVAL_MS:100}" | |
85 | + requests_topic: "${TB_QUEUE_TRANSPORT_API_REQUEST_TOPIC:tb.transport.api.requests}" | |
86 | + responses_topic: "${TB_QUEUE_TRANSPORT_API_RESPONSE_TOPIC:tb.transport.api.responses}" | |
87 | + max_pending_requests: "${TB_QUEUE_TRANSPORT_MAX_PENDING_REQUESTS:10000}" | |
88 | + max_requests_timeout: "${TB_QUEUE_TRANSPORT_MAX_REQUEST_TIMEOUT:10000}" | |
89 | + max_callback_threads: "${TB_QUEUE_TRANSPORT_MAX_CALLBACK_THREADS:100}" | |
90 | + request_poll_interval: "${TB_QUEUE_TRANSPORT_REQUEST_POLL_INTERVAL_MS:25}" | |
91 | + response_poll_interval: "${TB_QUEUE_TRANSPORT_RESPONSE_POLL_INTERVAL_MS:25}" | |
92 | + core: | |
93 | + topic: "${TB_QUEUE_CORE_TOPIC:tb.core}" | |
94 | + poll-interval: "${TB_QUEUE_CORE_POLL_INTERVAL_MS:25}" | |
95 | + partitions: "${TB_QUEUE_CORE_PARTITIONS:10}" | |
96 | + pack-processing-timeout: "${TB_QUEUE_CORE_PACK_PROCESSING_TIMEOUT_MS:60000}" | |
97 | + stats: | |
98 | + enabled: "${TB_QUEUE_CORE_STATS_ENABLED:false}" | |
99 | + print-interval-ms: "${TB_QUEUE_CORE_STATS_PRINT_INTERVAL_MS:10000}" | |
100 | + js: | |
101 | + # JS Eval request topic | |
102 | + request_topic: "${REMOTE_JS_EVAL_REQUEST_TOPIC:js.eval.requests}" | |
103 | + # JS Eval responses topic prefix that is combined with node id | |
104 | + response_topic_prefix: "${REMOTE_JS_EVAL_RESPONSE_TOPIC:js.eval.responses}" | |
105 | + # JS Eval max pending requests | |
106 | + max_pending_requests: "${REMOTE_JS_MAX_PENDING_REQUESTS:10000}" | |
107 | + # JS Eval max request timeout | |
108 | + max_requests_timeout: "${REMOTE_JS_MAX_REQUEST_TIMEOUT:10000}" | |
109 | + # JS response poll interval | |
110 | + response_poll_interval: "${REMOTE_JS_RESPONSE_POLL_INTERVAL_MS:25}" | |
111 | + # JS response auto commit interval | |
112 | + response_auto_commit_interval: "${REMOTE_JS_RESPONSE_AUTO_COMMIT_INTERVAL_MS:100}" | |
113 | + rule-engine: | |
114 | + topic: "${TB_QUEUE_RULE_ENGINE_TOPIC:tb.rule-engine}" | |
115 | + poll-interval: "${TB_QUEUE_RULE_ENGINE_POLL_INTERVAL_MS:25}" | |
116 | + pack-processing-timeout: "${TB_QUEUE_RULE_ENGINE_PACK_PROCESSING_TIMEOUT_MS:60000}" | |
117 | + stats: | |
118 | + enabled: "${TB_QUEUE_RULE_ENGINE_STATS_ENABLED:true}" | |
119 | + print-interval-ms: "${TB_QUEUE_RULE_ENGINE_STATS_PRINT_INTERVAL_MS:10000}" | |
120 | + queues: | |
121 | + - name: "Main" | |
122 | + topic: "${TB_QUEUE_RE_MAIN_TOPIC:tb.rule-engine.main}" | |
123 | + poll-interval: "${TB_QUEUE_RE_MAIN_POLL_INTERVAL_MS:25}" | |
124 | + partitions: "${TB_QUEUE_RE_MAIN_PARTITIONS:10}" | |
125 | + pack-processing-timeout: "${TB_QUEUE_RE_MAIN_PACK_PROCESSING_TIMEOUT_MS:60000}" | |
126 | + submit-strategy: | |
127 | + type: "${TB_QUEUE_RE_MAIN_SUBMIT_STRATEGY_TYPE:BURST}" # BURST, BATCH, SEQUENTIAL_WITHIN_ORIGINATOR, SEQUENTIAL_WITHIN_TENANT, SEQUENTIAL | |
128 | + # For BATCH only | |
129 | + batch-size: "${TB_QUEUE_RE_MAIN_SUBMIT_STRATEGY_BATCH_SIZE:1000}" # Maximum number of messages in batch | |
130 | + processing-strategy: | |
131 | + 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 | |
132 | + # For RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT | |
133 | + retries: "${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_RETRIES:3}" # Number of retries, 0 is unlimited | |
134 | + failure-percentage: "${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_FAILURE_PERCENTAGE:0}" # Skip retry if failures or timeouts are less then X percentage of messages; | |
135 | + pause-between-retries: "${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_RETRY_PAUSE:3}"# Time in seconds to wait in consumer thread before retries; | |
136 | + - name: "${TB_QUEUE_RE_HP_QUEUE_NAME:HighPriority}" | |
137 | + topic: "${TB_QUEUE_RE_HP_TOPIC:tb.rule-engine.hp}" | |
138 | + poll-interval: "${TB_QUEUE_RE_HP_POLL_INTERVAL_MS:25}" | |
139 | + partitions: "${TB_QUEUE_RE_HP_PARTITIONS:3}" | |
140 | + pack-processing-timeout: "${TB_QUEUE_RE_HP_PACK_PROCESSING_TIMEOUT_MS:60000}" | |
141 | + submit-strategy: | |
142 | + type: "${TB_QUEUE_RE_HP_SUBMIT_STRATEGY_TYPE:SEQUENTIAL_WITHIN_ORIGINATOR}" # BURST, BATCH, SEQUENTIAL_WITHIN_ORIGINATOR, SEQUENTIAL_WITHIN_TENANT, SEQUENTIAL | |
143 | + # For BATCH only | |
144 | + batch-size: "${TB_QUEUE_RE_HP_SUBMIT_STRATEGY_BATCH_SIZE:100}" # Maximum number of messages in batch | |
145 | + processing-strategy: | |
146 | + 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 | |
147 | + # For RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT | |
148 | + retries: "${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_RETRIES:0}" # Number of retries, 0 is unlimited | |
149 | + failure-percentage: "${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_FAILURE_PERCENTAGE:0}" # Skip retry if failures or timeouts are less then X percentage of messages; | |
150 | + pause-between-retries: "${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_RETRY_PAUSE:5}"# Time in seconds to wait in consumer thread before retries; | |
151 | + transport: | |
152 | + # For high priority notifications that require minimum latency and processing time | |
153 | + notifications_topic: "${TB_QUEUE_TRANSPORT_NOTIFICATIONS_TOPIC:tb.transport.notifications}" | |
154 | + poll_interval: "${TB_QUEUE_CORE_POLL_INTERVAL_MS:25}" | |
155 | + | |
156 | +service: | |
157 | + type: "${TB_SERVICE_TYPE:tb-transport}" | |
158 | + # Unique id for this service (autogenerated if empty) | |
159 | + id: "${TB_SERVICE_ID:}" | |
160 | + tenant_id: "${TB_SERVICE_TENANT_ID:}" # empty or specific tenant id. | |
\ No newline at end of file | ... | ... |