So for the case of multiple gateway servers and a single processing server:
On the core server:
* Multiple reader threads, each with it's own Chronicle pointing at IP of each gateway server
* Those reader threads would read a message and then write it to a single inbound Chronicle, controlling access using ReentrantLock or similar.
* The single-threaded core service would read the inbound Chronicle write it's responses to an outbound Chronicle.
On the gateway servers:
* HTTP or other requests are received and serviced directly, or written to a Chronicle.
* A thread reads responses from the outbound Chronicle from the core server, and relays them back to it's clients
Am I on the right track?
Thanks,
Paul