I am working on a distributed event-driven system where multiple components interact via Kafka topics in an asynchronous manner. The flow is as follows:
- An event is triggered from the backend API and send to Kafka Topic 1.
- Integration Platform Component A consumes the message from Topic 1, processes it by calling several APIs, and then produces a different event message to Kafka Topic 2.
- Integration Platform Component B then consumes the message from Topic 2, calls multiple external APIs for further processing, and produces another message to Kafka Topic 3.
- Integration Platform Component C consumes the message from Topic 3, processes it by calling a few APIs, produces another message to Kafka Topic 4, and also sends a notification to the frontend.
Component level PT: I am planning to automate sending of the event at point 1 from JMeter and then do all monitoring of these components from Splunk dashboard. But this will not give me the actual response time in JMeter from point 1 to point 4 that how much time it took to send the notification to the FE. All these components processing has a lag of few seconds too and they are all async calls.
What other options and best practices I can use to perform the component PT and test this as in realtime scenario the event at point 1 will be triggered from the backend and all processing will happen at the integration platform and then a notification will be sent to the customer at the FE. I don't have access to the FE and only responsible for the integration platform component level testing. Hence validation the notification from FE UI is not feasible.