Что должна уметь хорошая система обмена сообщений?
По-моему, знать контекст общения и выбирать лучший способ соединения между компонентами. Самое простое, в рамках 1 машины - сокеты, в рамках сети - TCP. И я даже уже фантазировал как я ее напишу, фабрики фабрик менеджеров хелперов, мммм, красота.
Но нахуя это все, вот же есть ZeroMQ
http://zeromq.org/Это опять библиотека, которую я не трогал руками, но выглядит классно, надо запомнить.