When Link is processing a huge number of messages at a given time, it can put quite a big load on external resources that are accessed during a particular message flow. Some sytems can have a problem with accepting many concurrent connections. To prevent documents in Link from going into a failed state due to these limitation we have concept called concurrency keys. The way concurrency keys work, is that you define a concurrency key with a limit that represents the number of concurrent activies allowed. That concurrency key can then be associated with itinerary steps and outgoing transport configurations. By doing it this way, when multiple steps are consuming the same external resource, this limitation can be enforced accross these steps.
Example: Sharing one key across itinerary steps and outgoing transports
An external web service accepts a maximum of 20 concurrent connections. Several itinerary steps and outgoing transport configurations call this service.
Create one concurrency key with a limit of 20 concurrent activities and assign it to all steps and outgoing transport configurations that call the service. They share the same limit, allowing up to 20 activities in total to access the service simultaneously.
Example: Sharing one key across multiple customers
You configure one concurrency key with a limit of 20 concurrent activities and assign it to three outgoing transport configurations, each sending documents to a different customer.
If you send 40 documents to each customer (120 documents in total), Link allows up to 20 simultaneous transmissions in total across all three configurations. Each customer does not get 20 slots, and the available slots are not necessarily divided equally between customers.
Example: Separate limits for each customer
You want each of the three customers to have its own limit of 20 simultaneous transmissions.
Create three separate concurrency keys, each with a limit of 20, and assign one to each customer’s outgoing transport configuration. Link then allows up to 20 simultaneous transmissions per customer—up to 60 in total across the three configurations.
How to define a concurrency key:
A concurrency key can be created by navigating to Settings → Concurrency keys. From there a concurrency key can be created with a name and a limit (Concurrent activities).
How to make use of a concurrency key:
To make use of a created concurrency key, simple chose it on any number of itninerary steps and/or outgoing transport configurations.