Using KAFKA for capturing the current state of the execution

Can we use Kafka client to store state of my current execution?

In case of exception camunda rollbacks to its previous savepoint. In previous savepoint camunda had stored execution and variable state so that it can launch it again from that point.

As we cannot put asynchronous before or after, can we send execution data (i.e. process id, activity id, variable) to kafka clinet and fetch it again in case of any failure?

Calling kafka client in each activity will it degrade the performance? OR we should prefer asynchronous before or after only?