Unless your throughput is seriously large you should just use a simple client-server architecture. It’s just a lot easier to manage. Building a complex middleware layer adds support and maintenance overhead. The problem is it seems simple at first but the complexity builds over time.
Though there are pros and cons to each design and it really depends on the problems you’re trying to solve.