Хороший момент, чтобы заявить в самый начальный момент - ZeroMQ
без брокера
A1: Разница между использованием ZeroMQ
для отправки сообщений и IPC
ну, говоря таким образом, ZeroMQ
сосредотачивается на самых разных преимуществах, а не только на возможности отправлять сообщения и масштабировать (и то, и другое полезно).
ZeroMQ
знакомит с (хорошо масштабируемыми) шаблонами формального общения
При этом основное внимание на стороне приложения направлено на то, какие примитивы шаблонов библиотеки ZeroMQ можно использовать для прямого выполнения действительно необходимой модели поведения между участвующими агентами (один PUB
+ много SUB
< /strong>-s / много PUB
-s + много перекрестно связанных SUB
-s )
или
как составить немного более сложный, специфичный для приложения , сигнальная плоскость (используя доступные ZeroMQ
строительных блоков поведенчески-примитивных архетипов сокетов + устройства + логика приложения, предоставляя конечный автомат или транзакционные механизмы для дополнительной функциональности сигнальной плоскости).
Стандартный IPC
предоставляет тупую службу на основе операционной системы, никакого поведения
что нормально, если понимать его в чистом контексте O/S (т. е. "батарейки включены" не).
Тем не менее, любая поддержка обмена сообщениями более высокого уровня и другие важные функции (такие как справедливая очередь, циклическое планирование, мультиплексная транспортно-независимая композиция услуг по любым / всем { inproc:// | ipc:// | tcp:// | pqm:// | ... }
транспортным классам, многоканальные опрашивающие устройства с миллисекундной настройкой, нулевое копирование передача сообщений и многие другие интеллектуальные функции) должны быть спроектированы/реализованы самостоятельно (это как раз тот случай, почему ZeroMQ был добавлен в игру, не для того ли, не так ли? большое спасибо, команда Мартина СУСТРИКА и Питера ХИНТДЖЕНСА )
Лучший следующий шаг?
Чтобы увидеть большую картину по этому вопросу >>> с дополнительными аргументами strong>, простое изображение сигнального самолета и прямая ссылка на обязательную к прочтению книгу Питера ХИНТДЖЕНСА.
A2: Быстрее? Я бы беспокоился, если бы кто-нибудь дал простой ответ. Это зависит... Многое...
Если вас интересует младшая сестра ZeroMQ
, nanomsg
, проверьте еще более легкую структуру от Мартина САСТРИКА nanomsg.org >>>
.
Быстрее, быстрее, быстрее всего...
Для вдохновения по поводу минимальных накладных расходов (читается как высокий потенциал скорости) и нулевого копирования (читается как эффективное предотвращение накладных расходов) прочитайте о транспортных классах inproc://
для обмена сообщениями между потоками:
A3: Он использует IPC
.
IPC
сам по себе является транспортным классом. Нет необходимости перепаковывать/выравнивать/собирать/CRC/инкапсулировать/отправлять|декодировать\CRC-recheck\demap... необработанные IPC
-данные в TCP
-пакеты более высокой абстракции, если они транспортируются прямо между localhost
процессами по IPC
-канал, что ли?
person
user3666197
schedule
21.09.2015