I was reading about session stickiness for monolithic applications. Wanted to understand the feasibility for microservices.
Q1. what are the downsides of session stickiness for microservices in particular? The internet doesn't talk much about this! It seems to hit scaling badly as the same instance might be overloaded (depending on the other design factors of the application). Is there any advantage? Please throw some light on this
Given rabbitMQ messaging is used for inter microservice communication, is it possible to have session stickiness for rabbitMQ messages, routed to a work queue. i.e, maybe a header in the message has session=xxx and all the messages with the same session reaching that queue are routed to the same client.
RabbitMQ or AMQP doesnt seem to have a configuration like that.
Possible client side implementation:
- Publisher publishes handshake message with routing key
handshakeand session id payload. - Consumer creates
auto_deletequeue and a binding with topic,topic.sessionid - Publisher publishes message with routing key,
topic.sessionid - cleanup accordingly!
Can someone point out the mistakes here