Skip to content

Commit be313a3

Browse files
committed
Review Index
1 parent 275c3c6 commit be313a3

1 file changed

Lines changed: 12 additions & 8 deletions

File tree

  • content/en/docs/refguide/modeling/integration/change-data-capture

content/en/docs/refguide/modeling/integration/change-data-capture/_index.md

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -74,23 +74,27 @@ When connecting to a BYOK Kafka cluster, provide the bootstrap server address an
7474

7575
### Active-Producer Election {#active-producer-election}
7676

77-
In a horizontally scaled deployment, multiple app instances would otherwise all publish CDC events to the same Kafka topics, producing duplicates. Active-producer election ensures that only one instance publishes at a time.
77+
In a horizontally-scaled deployment, multiple app instances would all publish CDC events to the same Kafka topics, producing duplicates. Active-producer election ensures that only one instance publishes at a time.
7878

79-
When all three election settings are configured, each instance joins the same Kafka consumer group and subscribes to the election topic. Kafka assigns partition 0 of that topic to exactly one member of the group that instance becomes the active producer. All other instances stand by without publishing.
79+
When all three election settings are configured, each instance joins the same Kafka consumer group and subscribes to the election topic. Kafka assigns partition 0 of that topic to exactly one group member, and that instance becomes the active producer. All other instances stand by without publishing.
8080

81-
If the active instance stops sending heartbeats (for example, because it crashed or was scaled down), Kafka triggers a rebalance and assigns the partition to another instance, which then starts producing. The departing instance drains any in-flight events before relinquishing the partition to prevent gaps.
81+
If the active instance stops sending heartbeats (for example, because it crashed or was scaled down), Kafka triggers a rebalance and assigns the partition to another instance, which then starts producing. Before relinquishing the partition, the departing instance drains any in-flight events to prevent gaps.
8282

83-
The `EventBroker.CdcProducerTransactionId` setting enables Kafka transactions on the active producer, which provides exactly-once delivery guarantees during normal operation and clean handover during failover.
83+
The `EventBroker.CdcProducerTransactionId` setting enables Kafka transactions on the active producer, providing exactly-once delivery guarantees during normal operation and a clean handover during failover.
8484

85-
If any of the three settings is missing, the Mendix Runtime logs a warning and falls back to single-instance mode, where all instances publish independently.
85+
If any of the three election settings is missing, the Mendix Runtime logs a warning and falls back to single-instance mode, where all instances publish independently.
8686

8787
### Message Format {#message-format}
8888

89-
CDC events follow the [Debezium](https://debezium.io/) envelope format. Each message contains an `op` field indicating the operation type (`c` for create, `u` for update, `d` for delete, `r` for read/snapshot), a `before` and `after` payload with the entity attribute values, and a `source` block with metadata such as the timestamp and Mendix version.
89+
CDC events follow the [Debezium](https://debezium.io/) envelope format. Each event includes the following fields:
9090

91-
Because the format is Debezium-compatible, BYOK consumers that already support Debezium — such as Kafka Connect sink connectors for databases or data warehouses — can consume CDC events without any message transformation.
91+
* An `op` field indicating the operation type (`c` for create, `u` for update, `d` for delete, `r` for read/snapshot)
92+
* A `before` and `after` payload with the entity attribute values
93+
* A `source` block with metadata such as the timestamp and Mendix version
9294

93-
To parse the messages, the schema for each tracked entity is available as an AsyncAPI document. You can download it from the [Event Broker Manager](https://broker.mendix.com/) on the service details page for the CDC service.
95+
Because the format is Debezium-compatible, BYOK consumers that already support Debezium (such as Kafka Connect sink connectors for databases or data warehouses) can consume CDC events without any message transformation.
96+
97+
To parse messages, the schema for each tracked entity is available as an AsyncAPI document. You can download it from the [Event Broker Manager](https://broker.mendix.com/) on the service details page for the CDC service.
9498

9599
For details on setting up a BYOK cluster with the Mendix Event Broker, see [Mendix Event Broker](/appstore/services/event-broker/).
96100

0 commit comments

Comments
 (0)