I am trying to see if we can use the QueryUpdateEmitter to feed updates of a projection to WebSocket connections, however we’re encountering an issue with multiple server nodes. The QueryUpdateEmitter only emits on the local server node.
We’ve considered processing the event on multiple server nodes, however as the projection backend is on the shared relational database, this leads to the projection being updated multiple times.
We’re stuck in a catch-22: when we process the event on a single node, the other nodes would not know what to emit for query updates… however if all nodes process the events, then the database is updated multiple times.
It appears that we need to build a shared queue to distribute the query update. Has anyone else managed to work around this limitation?