Avoid Connector Throttling Using Multiple Connections
Avoid Connector Throttling Using Multiple Connections in Azure Logic Apps
Since Azure Logic Apps is a cloud-based integration service, protections have been imposed to avoid ‘noisy neighbor’ scenarios where one customer can impact other customers by sending too much load to a particular connector/service.
If we look at the documentation for different connectors, we will discover that each connector has different throttling limits. For example, the SQL Server connector allows for 800 calls per 10 seconds and the SharePoint Online connector allows for 600 calls per 60 seconds. When it comes to metering calls to a connector, they are all based upon a connection.
If we try to push load to a connector using a single connection, we may encounter a scenario similar to the following where we receive a 429 error being returned from the connector.
To avoid rate limiting, we can create multiple connections and then parallelize our processing.
Within each branch, we will use a separate connection. As a result, we will reduce our chances of hitting a connector-imposed rate limit as we now have twice the entitlement.
In this article we discussed the impact of connections and calls being made to connectors. We also determined we can create multiple connections within a single logic app to reduce the chances of being rate limited by connectors. Using this approach requires developers to think about how to break up data in order to split the load across multiple connections.