2 hours ago · Tech · 0 comments

Modern microservices have various integration points in form of external APIs, databases etc. In order to perform these integrations the service needs to maintain connections with these points & these connections tend to be costly. You need to perform authz/authn, do network handshakes(Eg TCP) & also some form of book-keeping around what connections are alive. So normally all applications tend to have a hard limit on number of such active connections & this is where we bring in our problem statement. A single integration point in an application can end up hoarding majority of the connections in case of issues due to high latency, bugs etc & starve other integration points. For eg when we have a limited number of database connections, a slow database query can end up holding database connections for longer amount of time & in turn block all the remaining queries which might have taken a fraction of time. This problem can soon end up choking our applications & in absence of good…

No comments yet. Log in to reply on the Fediverse. Comments will appear here.