4 ms·
A webhook is (ok, squint really hard) a bit like one direction of a TCP connection: state at the sender tracking what the receiver has seen, state at the receiv
by tonyg 5y ago
A webhook is (ok, squint really hard) a bit like one direction of a TCP connection: state at the sender tracking what the receiver has seen, state at the receiver for rejecting duplicates, logic for retrying and acknowledging receipt.
The state management kind of sucks though, and it isn't sufficiently abstracted over, hence the original article.
So why can't we use actual TCP connections for long-lived relationships? Because kernels make TCP more fragile than it has to be. There's no particular reason TCP connections couldn't outlive process instances, machine reboots, etc., except for the way TCP is implemented in the kernel.
- tonyg 5y agoI should add that the WebSub (previously PubSubHubBub) spec goes some way toward spackling over the gap between raw webhooks and what's needed for long-lived TCP-like relationships. https://www.w3.org/TR/websub/ https://www.w3.org/TR/websub/
- pixl97 5y ago> There's no particular reason TCP connections couldn't outlive Are we forgetting about every awful firewall and piece of garbage middleware box out there?