wso2 / micro-integrator

The cloud-native configuration driven runtime that helps developers implement composite microservices.
https://wso2.com/integration/
Apache License 2.0
194 stars 206 forks source link

Implement Azure Service Bus Connector #2941

Open sajinieKavindya opened 10 months ago

sajinieKavindya commented 10 months ago

Currently, there is no connector for Azure Service Bus implemented using the Azure SDK.

NteCHourSHOcu commented 10 months ago

To elaborate on why this should be implemented:

Issue: On high load (5k+ messages queued) the messages that spend longer than 10 minutes on the queue are being DLQ'd .

Root cause: Each time a message is prefetched the message is locked, when the lock on a message times out (1 minute, max value is 5 minutes in ASB) the DeliveryCount is upped by 1. After 10 expired locks (Redelivery amount is set to 10) the message will be DLQ'd after 10 minutes.

The EI implementation of JMS does not support the custom microsoft azure service bus "RenewLock" operation as detailed here: https://learn.microsoft.com/en-us/azure/service-bus-messaging/message-transfers-locks-settlement#settling-receive-operations