Realize request/response pattern
There are many clients sending requests to a single worker.
There is a queue (RabbitMQ) in front of the handler. Requests from clients are placed in the queue. A separate response queue is created for each client (by client itself), the name of the queue is contained in the client's request
On initialization, client creates a temporary queue which is deleted when client closes the connection to RMQ with these parameters: { queue: true, autoDelete: true, }
The worker, after processing the request, places the response into the queue created by the client
To start project you can use docker on local machine:
docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:management
This is a managed image of RabbitMQ and you can use this link to manage RMQ (guest/guest credential) http://localhost:15672