๐ช Kafka Configuration in Unibeam Services
This section summarizes the Kafka-related configuration options for all Unibeam microservices, based on their respective configuration files. These settings enable each service to produce and consume messages across dedicated topics, supporting robust integration and event-driven workflows.
โก sim-service
| Key |
Description |
kafka.broker.host |
Kafka bootstrap server endpoint for connecting to the cluster. |
kafka.sia.api.producer.topic |
Topic for publishing messages to SIA API. |
kafka.sia.api.consumer.topic |
Topic for consuming messages from SIA API. |
kafka.sia.api.consumer.group.name |
Consumer group name for SIA API topic. |
kafka.sms.service.producer.topic |
Topic for publishing messages to SMS service. |
kafka.sms.service.consumer.topic |
Topic for consuming messages from SMS service. |
kafka.sms.service.consumer.group.name |
Consumer group name for SMS service topic. |
kafka.mno.service.producer.topic |
Topic for publishing messages to MNO service. |
kafka.error.topic |
Topic for publishing error messages. |
kafka.error.consumer.group.name |
Consumer group name for error topic. |
โก sms-service
| Key |
Description |
kafka.broker.host |
Kafka bootstrap server endpoint for connecting to the cluster. |
kafka.sim.service.consumer.topic |
Topic for consuming messages from sim-service. |
kafka.sim.service.producer.topic |
Topic for publishing messages to sim-service. |
kafka.sim.service.consumer.group.name |
Consumer group name for sim-service topic. |
kafka.error.producer.topic |
Topic for publishing error messages. |
โก audit-service
| Key |
Description |
spring.kafka.bootstrap-servers |
Kafka bootstrap server endpoint for connecting to the cluster. |
application.kafka.create.topics |
Controls whether the service should auto-create topics (false disables auto-creation). |
application.kafka.audit.topic |
Topic for publishing audit entity messages. |
application.kafka.audit.group-id-prefix |
Prefix for audit consumer group names (unique suffix added per instance). |
application.kafka.customer.topic |
Topic for customer collection source connector. |
application.kafka.authentication.audit.topic |
Topic for authentication audit events (sink connector subscription). |
application.kafka.authentication.audit.group-id-prefix |
Prefix for authentication audit consumer group names (unique suffix added per instance). |
spring.kafka.producer.acks |
Producer acknowledgment setting (-1 for all replicas). |
spring.kafka.producer.key-serializer |
Serializer for Kafka message keys. |
spring.kafka.producer.value-serializer |
Serializer for Kafka message values. |
โก mno-service
| Key |
Description |
spring.kafka.bootstrap-servers |
Kafka bootstrap server endpoint for connecting to the cluster. |
application.kafka.create.topics |
Controls whether the service should auto-create topics (false disables auto-creation). |
application.kafka.sim.service.producer.topic |
Topic for publishing messages to sim-service. |
application.kafka.sim.service.consumer.topic |
Topic for consuming messages from sim-service. |
application.kafka.sim.service.consumer.topic.replicas |
Number of replicas for sim-service consumer topic. |
application.kafka.audit.service.producer.topic |
Topic for publishing audit entity messages. |
spring.kafka.consumer.properties.reconnect.backoff.ms |
Consumer reconnect backoff in milliseconds. |
spring.kafka.consumer.properties.reconnect.backoff.max.ms |
Maximum consumer reconnect backoff in milliseconds. |
spring.kafka.producer.properties.reconnect.backoff.ms |
Producer reconnect backoff in milliseconds. |
spring.kafka.producer.properties.reconnect.backoff.max.ms |
Maximum producer reconnect backoff in milliseconds. |
โก timer-service
| Key |
Description |
spring.kafka.bootstrap-servers |
Kafka bootstrap server endpoint for connecting to the cluster. |
application.kafka.timer.service.consumer.topic |
Topic for consuming timer service requests. |
application.kafka.timer.service.producer.topic |
Topic for publishing timer service alerts. |
spring.kafka.consumer.group-id |
Consumer group ID for timer service requests. |
spring.kafka.consumer.client-id |
Client ID for timer service consumer. |
spring.kafka.consumer.enable-auto-commit |
Enables/disables auto-commit for consumer offsets. |
spring.kafka.consumer.auto-offset-reset |
Offset reset strategy (earliest). |
spring.kafka.consumer.key-deserializer |
Deserializer for Kafka message keys. |
spring.kafka.consumer.value-deserializer |
Deserializer for Kafka message values. |
spring.kafka.consumer.properties.partition.assignment.strategy |
Partition assignment strategy for consumers. |
spring.kafka.producer.client-id |
Client ID for timer service producer. |
spring.kafka.producer.key-serializer |
Serializer for Kafka message keys. |
spring.kafka.producer.value-serializer |
Serializer for Kafka message values. |
Best Practice
- Ensure all Kafka topics and consumer groups are created and configured in the Kafka cluster before deploying any Unibeam service.
- Use unique consumer group names or prefixes for each service to avoid offset conflicts and enable message broadcast.
- Review producer and consumer settings for reliability and