recall

← recall

handshake (Release It!) pattern

Before sending real work, ask the server 'are you ready to receive?' and let it say no if it's overloaded. Lets the server reject load before paying its cost rather than crashing under it. Common in messaging protocols, rare in HTTP — which is why HTTP services need other admission control.

Before sending real work, ask the server 'are you ready to receive?' and let it say no if it's overloaded. Lets the server reject load before paying its cost rather than crashing under it. Common in messaging protocols, rare in HTTP — which is why HTTP services need other admission control.

symptoms

  • server crashing under traffic it could have rejected
  • clients sending real work to dying servers

causes

  • no ready signal in protocol
  • load balancer routes regardless of instance health

fixes

  • explicit ready endpoint client checks first
  • load balancer respects readiness
  • circuit breakers as poor-mans handshake

you might say

  • handshake
  • ready/not-ready

related

topics: resilience

references: