In our application we do store data in MongoDB and publish the event to Kafka/ EventHub, I need this to be done in transactional without losing data and events and also no duplicate data to be saved or published. So which approach we may need to follow for handling transactions in this case.