...
Kafka Interfacing using DMaaP client :
Message router is added as an additional layer on top of DMaaP to support message service API interaction with the ZooKeeper/Kafka. DmaapClient is a deliverable jar that can be used to interact with the DMaaP message Router api.
Pros:
- Designed to support REST calls to Kafka from both publishers and consumers.
- Pre Defined APIs in Message Router to create/view/delete a topic in Kafka and also to publish a message to a topic and subscribe to a topic.
Cons:
- Additional overhead as an additional layer Message Router would be added between CPS and Kafka.
Kafka Direct interface without using DMaaP client: To be used in CPS
Pros:
- No additional layer used between CPS and DMaaP Kafka.
- Spring boot enables easier configuration.
- CPS can make a direct interface with Kafka and using spring-kafka. Spring-kafka used in CPS also provides support for Message-driven POJOs for publishing and subscribing events.
...
- CPS does not require message service API for interacting with Kafka.
Kafka configuration details needs to be added in the application yaml of both publisher(cps-core) and consumer(cps-temporal) of the events published to Kafka. These configuration should preferably be defined in application-helm.yaml included in the OOM charts to provide flexibility while deploying the application.
...