Such as graphic, have 3 network gateway-a-1gateway-a-2gateway-a-3. Multi network within the same DC just broadcast it's directly connected network‘s routes.In this way, any call can only have a maximum of 2 routes to access the services of other DC.
Lots of useful information can be logged out to the user but that should only be provided in the debugging context. So, allow for a --debug option that will allow writes out. Have the services modules point to a reusable logging component. On init, we will tell that logging component if it should echo out the proceeding logs to the console.