Our application architecture is the following :
Third party event hub ==> our azure function ==> our event hub ==> our event hub capture.
The issue is that we are getting duplicates messages quite often, and we don't any primary key in the data.
I could read online that Service Bus Sessions could avoid this duplicate issue.
Azure Service Bus now supports sessions, so you can do in order queue processing with service bus queues and topics in addition to Event Hubs listed below. Service Bus Sessions provide the added benefit of reprocessing failures individually instead of in batches. While Event Hubs can guarantee order as show below, if a partition lock is lost the in-order batch could resume in another instance causing duplicates. Consider using Service Bus Sessions if this is an issue. Both provide at-least-once delivery guarantees.
I am new to Azure and streaming cloud architecture in general.
My question is the following :
- Could Service Bus Session be plugged in our current architecture?
- Or is it rather a competing service of our event hub ?
I am not sure we would be ready to give up on our event hub now as we have just invested resources implementing it.