353857 (1) [Avatar] Offline
Hi, the products I work on are very much service oriented, though not reactive as you've defined. The remote RPC calls take place via proxy that looks as if it were a local call, using TCP and some built in load balancing on the client side. I've been thinking long and hard about whether there is a better way, short of convincing the entire organization to reimplement everything. One idea that came to mind is to use a message bus (ie, RabbitMQ or Kafka) as an RPC mechanism to shift load balancing to the server. One major downside is the introduction of a point of failure.

So now, my question - does anyone have any practical recommendations for organizations that use SoA in the manner I described? If object oriented RPC is the pattern in play, is switching to RPC via message bus worth the effort, and are there any other advantages I am overlooking?