создание сетей — создание собственного протокола связи на C ++ для распределенной системы

У меня есть необходимость создать собственный протокол связи в распределенной системе. Логика на отдельных узлах реализована в C ++.

В моем прошлом опыте, когда мне приходилось делать это на Java, я полагался на Netty. Есть ли подобная инфраструктура / библиотека в C ++, которая позволяет мне реализовывать свои собственные протоколы?

я смотрел на ZeroMQ кратко. Тем не менее, в документах, которые я нашел, кажется, слишком подчеркивается использование предопределенных шаблонов, таких как REQ/REP, PUB/SUB и т.п. Есть ли более фундаментальный слой на ZeroMQ это не заставляет меня использовать эти шаблоны, но все же обеспечивает достаточную поддержку для реализации пользовательских протоколов связи?

Если есть другие библиотеки (слышал о Boost.Asio), которые лучше подходят, то это тоже приветствуется.

2

Решение

ZeroMQ или же nanomsg фреймворки (как крутые инструменты без посредников) делают вас отличным уровнем ввода-вывода для обмена сообщениями, и вы можете забыть об их умных внутренностях.

Вы можете сделать любую прокотол-абстракцию самостоятельно.

Если у вас сложилось впечатление, что PUB / SUB находится в центре внимания ZeroMQ, похоже, вы упустили их величайшие способности.

У вас была возможность прочитать в какой-либо книге Питера Хиндженса о продвинутых принципах проектирования нулевой копии, нулевой энергии, нулевого разделения, нулевой задержки; o)?

Стоит потратить время. [Больше драгоценных камней включены.]

Очень ориентированные на PROTOCOL подходы к дизайну могут очень помочь в вашем own-protocol-ФСА дизайн & проверки, тем больше, если вы стремитесь к профессиональным, многопоточным, гетерогенным, распределенным, масштабируемым, самовосстанавливающимся, быстрым формам общения с малыми задержками.

1

Другие решения

Возможно, вы захотите взглянуть на промежуточное программное обеспечение, такое как CORBA (доступно много разных брокеров, но я бы не рекомендовал его использовать), ICE от ZeroC, протокольные буферы от Google, SOAP или даже RPC. Существуют разные плюсы и минусы использования того или иного, но я бы порекомендовал использовать существующее промежуточное ПО, а не разрабатывать свое собственное. Вы можете начать здесь промежуточное программное обеспечение в Википедии а затем решите, какой из них лучше для ваших нужд.

0

По вопросам рекламы [email protected]