mardi 27 janvier 2015

Is having a bi directional message queue a design smell?


I have an architecture with 1 backend server and multiple frontend servers.


The frontend servers are connected in a bi-directional (web sockets) connection to clients so they can send messages to clients.


The frontend and backend are connected through a message bus. There is one queue for frontend to backend messages and another queue for backend to frontend messages.


For example, when a client requests an operation, the frontend sends the request to the backend and acknowledges the client the request was sent.


Sometimes, when the backend finishes handling a request, it sends a status message to the frontend who forwards it to the client that requested the operation.


I've never seen anything similar. Usually the communications only go one way - from frontend to backend.


I'm worried, am I doing something bizarre?


I came up with this architecture because of the bi-directional nature of web sockets. This way the server can notify clients as soon as a request is processed.





Aucun commentaire:

Enregistrer un commentaire