LINUX.ORG.RU

Вышла версия 2.0.6 системы передачи сообщений ØMQ

 messaging middleware,


0

0

ØMQ - легковесная реализация системы асинхронной передачи сообщений. Отличительными чертами являются программный интерфейс, схожий с BSD-сокетами, а также преднамеренный отказ от использования специальных серверов-брокеров для устранения единой точки отказа.

В качестве транспортных протоколов поддерживаются TCP, PGM (надёжный мультикаст) и IPC (Unix-сокеты, разделяемая память). Система поддерживает различные конфигурации обмена сообщениями, например точка-к-точке (point-to-point), подписка (publish-subscribe), запрос-ответ (request-reply), параллельный конвейер (paralellized pipeline) и другие.

ØMQ обладает низкими задержками: 13.4 мкс из (конца в конец), и высокой пропускной способностью: 4,100,000 сообщений в секунду. ØMQ работает на процессорах x86, AMD64, SPARC, IA-64, ARM под операционными системами HP-UX, Linux, Mac OS X, *BSD, OpenVMS, Solaris, Windows.

Исходники (на языке C++) доступны по лицензии LGPL, а крайне простой внешний API на C привел к созданию большого числа биндингов к различным языкам: Common Lisp, Haskell, Java, Lua, Python, Ruby, C#.

В этой версии все привязки к языкам были вынесены в отдельные проекты, переписана документация, добавлена поддержка новых ОС (FreeBSD, NetBSD, HP-UX и Cygwin), упрощён процесс сборки, добавлен новый тип соединения (peer-to-peer), реализован контроль над потоком сообщений (watermarks), а также проведены многочисленные оптимизации и исправления ошибок.

>>> Подробности

★★★★★

Проверено: svu ()
Последнее исправление: svu (всего исправлений: 1)

Но у меня другой вопрос - для LAN, чем это лучше обычного PGM без всяких слоев поверх него?

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Но у меня другой вопрос - для LAN, чем это лучше обычного PGM без всяких слоев поверх него?

PGM - это всего лишь один из транспортов в 0MQ.

mv ★★★★★
() автор топика
Ответ на: комментарий от mv

>> Но у меня другой вопрос - для LAN, чем это лучше обычного PGM без всяких слоев поверх него?

PGM - это всего лишь один из транспортов в 0MQ.

Это и так ясно. Вопрос - какие профиты дает сам 0MQ, кроме профитов PGM? Для случая, когда всё в LAN.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Вопрос - какие профиты дает сам 0MQ, кроме профитов PGM? Для случая, когда всё в LAN.

Разные схемы взаимодействия (rep/req, pub/sub, upstream/downstream), фильтрация сообщений, watermark'и, disk offload. И для случая, когда две сетевые инстанции вдруг окажутся на одном хосте, можно, не меняя интерфейса, использовать транспорт ipc.

mv ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

Ясно.

Ну и поддержка пачки языков тоже 0MQ выгодо отличает.

mv ★★★★★
() автор топика
Ответ на: комментарий от mv

> 2. Железно встроена сериализация/десериализация. Что делать, если она не нужна,

а как можно без сериализации? или передавать заранее подготовленными примитивами под которые и заточен фреймворк?

VoDA ★★
()
Ответ на: комментарий от mv

> В процессе написания 0MQ1 автор вообще переосмыслил идею enterprise-мессейджинга и начал делать 0MQ2, который на типичные MQ не похож. Переосмысление получилось неплохим, что видно на взрыве интереса к 0MQ2

а что такого переосмысленного появилось? в чем профит OMQ2 против «обычного ESB»?

VoDA ★★
()
Ответ на: комментарий от VoDA

а как можно без сериализации?

Можно (нужно) использовать отдельное решение для сериализации. Google protocol buffer, например.

или передавать заранее подготовленными примитивами под которые и заточен фреймворк?

Это в AMQP так.

mv ★★★★★
() автор топика
Ответ на: комментарий от VoDA

а что такого переосмысленного появилось?

Вот тут описано.

в чем профит OMQ2 против «обычного ESB»?

Нет брокера (из коробки, своего наваять легко можно), сокетоподобное api, много разных транспортов при всё том же api, простой и маленький :)

mv ★★★★★
() автор топика
Ответ на: комментарий от mv

> Нет брокера (из коробки, своего наваять легко можно)

можно мне тогда разъяснить что такое брокер? которого в OMQ нет?

VoDA ★★
()
Ответ на: комментарий от VoDA

можно мне тогда разъяснить что такое брокер? которого в OMQ нет?

Центральное звено, к которому подключаются клиенты, где крутятся очереди сообщений, и которое всем эти добром управляет. Тут написано.

mv ★★★★★
() автор топика
Ответ на: комментарий от mv

спасибо, понял в чем затуп )))

в проекте куда привлекалась и наша компания был развернут ESB, так там каждый узел тянет свои гарантированные очереди доставки, т.е. каждый узел - брокер.

И вообще best practice ESB - ставить на каждый сервер приложений ESB-node чтобы коммуникация app<->ESB была только локальной. А данные между серверами гоняют только ESB-шные ноды.

VoDA ★★
()
Ответ на: комментарий от tommy

> вот как было с C++ - костыли костылями. пытались объяснить что это нужно и полезно - но тщетно. припарка и нормальному языку только тормозящая всё и приводящая к феерическим глюкам при ошибках в коде. но вот придумали Qt - и все поняли для чего нужен C++. всего лишь надо было создать удобный тулкит который задействует даже ещё больше возможностей чем планировалось изначально в C++.

У Вас явно нарушена полярность. С++ - достаточно простой в использовании язык, который я использую последние ~15 лет. Глюков, тем более феерических, не наблюдаю. Qt наблюдаю последние 5 лет, поток глюков неисчерпаем.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.