'EKS with multiple pods and pub/sub (salesforce Streaming API)

A service A will run in EKS with replicated instances across several pods. This service does many things, among this it's meant to subscribe to a salesforce Streaming API that implements pub/sub for publishing messages.

The salesforce streaming API follows the Bayeaux protocol. The Bayeaux protocol is implemented with CometD which is just a long-polling over http strategy.

Long story short, this pub/sub pattern is based on a long-lived request from the subscriber to the publisher server. Publisher only responds when there's an update and a new long-lived request is sent right away.

I'm worried about they way AWS EKS would deal with this type of subscription, specially considering there will be multiple replica instances of service A running at all times. I need to guarantee each message is processed only once.

Maybe the inherent load-balancing in EKS will handle this? After googling around and reading for half a day I haven't found a concrete answer, and I don't yet have access to the EKS resources to set up a test.

My question: Are my worries justified for this EKS to external long-polling pub/sub justified? Do I need to add additional AWS elements into the picture?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source