I'm working on a project where I have a client that needs to send the same data to multiple servers. I encountered a situation where one of the servers was slow in responding. It seemed like the slow server caused us to block until its message had been sent which slowed down the sending of data to the other servers. This led me down the road of exploring the async call.
I took the helloworld async client and server samples and spun up three instances of the servers (each on a separate port, but same machine). The second instance had a 1-second sleep. I then created a client that sends the same message to all three servers and I was expecting the servers to reply out of order 1, 3, then 2 since I put a sleep in the second one. I get the replies in order, which seems to defeat the purpose of the async call.
Am I misunderstanding how the async calls should behave? Is there maybe another way to solve this issue?