Does Qovery support session affinity (sticky sessions)?

Hi! I couldn’t find the answer in the docs. Does Qovery support session affinity (sticky sessions)?

For instance, this:
https://kubernetes.github.io/ingress-nginx/examples/affinity/cookie/

Thanks!

Hi Scott, we have an option that is available for sticky session but from my experience it is something to avoid if you can. Can you explain a bit your use case behind?

Sure! We have an elixir/phoenix app where web clients have long lived sessions. Most are over websockets, but 10-20% are over long polling (due to school networks our clients access us from). The server holds state for each session and routes real-time updates to the client.

Because we’re storing state for each session, we need sticky sessions to keep those server sessions alive and active. If we don’t have sticky sessions, a client would lose all their subscriptions as soon as they hit a new server. As a result, the real-time features of the app would break.

We’re on ECS (via Convox v2) using ALB with their sticky session option and it’s worked great. Since an NLB doesn’t have sticky sessions, we were assuming we’d need to lean on the ingress to provide the sticky sessions.

Hi @Scott_Ames-Messinger ,

As @rophilogene mentioned, it’s not a good practice to rely on the sticky session because on every application update, and you’ll lose them anyway.

However, we understand your point, and as @rophilogene said, we already support them today. You can find this option on the Console V2, in the settings of your application:

It will be shortly available on Console v3 as well.

Pierre

1 Like

Update: it has been released in the advanced settings and is available in console v3 :slight_smile:

Thanks for letting me know!