Hello Experts,
I was going through RPC pattern of rabbitmq. I have some queries regarding this.
1. RPC pattern is synchronous or asynchronous.? At first read it looks to me synchronous because client needs to wait for response. Client will wait for response in reply_to queue so will it be able to do other tasks in the mean time?
My scenario is that I have two services A and B. Service A is a rest service which is receiving multiple calls in real time through http.
Service A will be client and Service B will be server for rabbitmq use case.
Service A will send message in the queue and Service B will read message from queue.
When Service A will send message in the queue then it will have to wait for response in the reply_to queue.
During this time If Service A will receive another request then will it possible that Service A will send this request in the rabbitmq.
2. How to handle malicious input case? Lets say if one message is malicious and because of this, one of server got crash. Now because rabbit-mq did not get any acknowledgement so it will send this message to another server. Again this request will crash on this server and will be present in the queue for long time. How to identify such cases and remove such malicious input from queue?
I will be grateful if anybody can reply for above queries.
Thanks,
Archit