Hey all,
I am getting my feet wet with RabbitMQ and I am interested in using it as the backbone of the networking for an application I'm building.
A part of this is an application that produces some soft real-time data based on 'sessions'. Eg a user logs in which begins a session, then they click buttons, toggle switches etc
I want to have a second application that is able to view active sessions and be able to 'connect' and view all events, past and future for that session.
There can be multiple of these 'monitor' applications running at once and they should all see the same events.
tldr; simple pub/sub. Except with multiple late-join subscribers that need to get the full message history
Reading through the docs my initial thought is that there should be some way to address this using topic exchanges, but I cannot figure out the 'late join' aspect of it.
I can always
1. write logic into the producer to track late joins and publish the entire session only to that late joiner, but this couples the producer to clients and introduces race condition/ordering issues
2. Write a dedicated broker application to do what #1 does but still has race conditions I'd need to address somehow
Does anyone have any thoughts on how/if I can address this with RabbitMQ? I may very well be missing something or thinking about the problem all wrong.
Thanks!
- Wilfredo Velazquez-Rodriguez