Contenidos
WebSocket
Los WebSocket son para comunicación bidireccional para navegadores webs con servidores, es una forma de no tener al cliente enviando peticiones Ajax continuamente al servidor. Se abre un socket en el propio server y el cliente espera a recibir sus mensajes o actualizaciones.
RabbitMQ
Los gestores de cola son programas que se encargan de gestionar el envío y la recepción de mensajes, se encargan de asegurar el envío de los mensajes a todos los clientes y que que estos sean por orden. RabbitMQ puede ser un microservicio más dentro de nuestra arquitectura tiene soporte para casi todos los lenguajes.
StompJS
Si combinamos WebSocket y RabbitMQ tenemos Stomp, es un protocolo de texto sobre WebSocket, con Stomp tenemos un WebSocket que se comunica con RabbitMQ (o con otros gestores de colas) y permite tener una capa adicional que garantice la recepción de mensajes y el orden en que se reciben.
Resumen
En la actualidad mis arquitecturas incluyen un RabbitMQ que comunica todos los servicios en lugar de usar rest full y el mismo Rabbit me realiza la comunicación con el cliente con StompJS de esta forma divido aun más los servicios.