Я разрабатываю приложение, в котором распределенные компоненты общаются друг с другом по сети в асинхронном режиме pub/sub.Каким образом распределенные процессы могут взаимодействовать асинхронно?
Для этого мне нравится идея отправки XML поверх сокетов - это асинхронно, мне не нужен сервер какого-либо типа, и он может работать локально или по сети. Мне пришлось бы катить свой собственный механизм pub/sub, который, вероятно, не будет слишком обременительным - я мог бы использовать IP-адрес в качестве идентификатора подписчика. Язык реализации будет C++. Раньше я использовал этот метод с хорошими результатами. Но, интересно, есть ли лучший способ? Любые советы приветствуются.
Edit: я не принял решение еще, но я заинтересован в комментарии cparcode на Protobuf:.
«Я никогда не понимал, популярность использования XML для сетевых порта связи Любой путь, я понимаю, что протокол является лишь частью вашей проблемы, но по этому вопросу есть протобуф Google: http://code.google.com/p/protobuf/ - caparcode (11 марта в 1:01) »
Ummm ... разъемы изначально asynch? возможно, в параллельной вселенной? – dkretz
все современные библиотеки сокетов имеют асинхронные API – Javier
Что следует учитывать: производительность синтаксического анализа XML, накладные расходы на постоянную память сокетов и т. Д. Но, как и другие, если вы сделали это в прошлом, то вы можете сделать это снова. Было бы неплохо подробно описать ваши другие требования: сколько машин в сети? Существуют ли первоочередные требования? – slacy