Hi,
I'm building my first system that relies heavily on a message queue for reasons other than scaling. To cut a long story short there will be many clients connected to a central server via the internet, each client has the ability to edit data on the server, when such an event occurs the other clients need to be updated live.
Does anyone know of any established design patterns covering such scenarios?
The obvious work flow is this:
User edits UI -> record is edited on the db -> message is added to the queue -> other clients update
My only problem with this workflow is that the UI that edited the record will also be listening for the message and likely without some hackery also then unnecessarily update itself. Nothing wrong with this in principle, but my experience with GUI patterns (which I imagine will be similar to messaging patterns) such as Martin Fowlers Passive View give me a feeling that this type of approach may not be the best way to go.
Cheers,
Chris