If there are only 2 computers (sender-receiver), then this is bad practice if a fast response time is required. Otherwise, this is normal ... a direct socket connection would be better, but don't waste time on it unless you really need it.
On the other hand, if there are more than two machines and / or you need fault tolerance, then you really need an intermediary. Depending on the signaling you want between the machines, the intermediary may be a simple keystore (for example: memcached, redis) or a message queue (for example: a special program for the message queue, but I saw that MySQL is used as a queue in two different sites with high traffic)
source share