Switch your producer and consumer applications from Event Streams to Confluent Platform by completing the following sequence.
Before you begin
Before migrating your applications, ensure that the following tasks are complete:
- Migrate user credentials and permissions to Confluent Platform.
- Migrate schema definitions to Confluent Schema Registry if your applications use schemas.
- Verify topic data replication to confirm that mirror topics are in sync with zero lag.
Switching applications to Confluent Platform
To avoid message loss or duplication, complete the following steps for each topic or group of topics:
- Stop the consumer applications on Event Streams.
- Wait for consumer offsets to synchronize to Confluent Platform.
- Stop all producer applications on Event Streams.
-
Confirm that the replication lag is zero for the mirror topic. Run the following command:
kubectl exec -n <cp-namespace> kafka-0 -- kafka-mirrors --describe \ --links <cluster-link-name> \ --bootstrap-server <bootstrap-server>Where:
<cp-namespace>is the Kubernetes namespace where you deploy Confluent Platform.<cluster-link-name>is the name of the ClusterLink.
-
Run the following command to promote the mirror topic on Confluent Platform and make it writable:
kubectl exec -n <cp-namespace> kafka-0 -- kafka-mirrors --promote \ --topics <topic-name> \ --bootstrap-server <bootstrap-server>Where:
<cp-namespace>is the Kubernetes namespace where you deploy Confluent Platform.<topic-name>is the name of the topic to promote (for example,orders).
Note: The promote operation performs its own final synchronization checks before converting the mirror topic. If promotion fails, do not proceed. Resolve the reported synchronization or connectivity issue before retrying.
-
Run the following command to verify that the topic status changes from
LINKINGtoSTOPPED(promoted and writable):kubectl exec -n <cp-namespace> kafka-0 -- kafka-mirrors --describe \ --topics <topic-name> \ --bootstrap-server <bootstrap-server>Where:
<cp-namespace>is the Kubernetes namespace where you deploy Confluent Platform.<topic-name>is the name of the promoted topic.
-
Update the configuration properties of your producer and consumer applications to connect to Confluent Platform:
- Update
bootstrap.serversto the Confluent Platform listener address. - Set
sasl.mechanismtoPLAINwithsecurity.protocolset toSASL_SSL, or configure mTLS or OAuth properties as required. - Update
schema.registry.urlto point to Confluent Schema Registry if your applications use schemas. - For Kafka Streams applications, update both
bootstrap.serversandschema.registry.urlproperties.
- Update
- Start your producer and consumer applications on Confluent Platform. Consumers resume reading from the synchronized offsets, and producers write directly to the promoted topic.
Note: Keep Event Streams available until the migration is fully validated. After topics are promoted and applications begin writing to Confluent Platform, reverting clients to Event Streams is not a complete rollback procedure because the two clusters can diverge.