LINUX.ORG.RU

Message Queue: а где б найти, чтоб вот такой?


0

1

Чтобы:
1) серверная часть биндилась на TCP/IP-сокет
2) клиенты биндились бы к серверу, получая уникальные ID (clientID), тем или иным способом авторизуясь перед этим - например, предоставляя сертификат, выписанный на CN=clientID
3) при обрыве коннекта между клиентов и сервером, сервер буферизовал бы сообщения клиенту и при следующем коннекте клиента смог бы передать их ему
4) клиенты могли бы подписываться на широковещательные каналы (cо своими channelID)
5) клиенты могли бы обмениваться между собой по уникальным ID (src_clientID and dst_clientID), либо с помощью широковещательной передачи в рамках канала

Т.е. по сути нужна достаточно умная «почтовая система», которая может доставлять «От» -> «Кому» и «От -> „Многим“.

Посмотрел ZeroMQ и что-то просто в ужас пришёл: кажется, эта штука кроме тупого клиент-сервера ничего толком не реализует. Примитивные зачатки MQ здесь - это, видимо, просто объединение нескольких клиент-серверов.

Я раньше как-то сталкивался с IBM MQ, вот мне бы что-то подобное, только бесплатно :)

★★★★★

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

Ответ на: комментарий от vertexua

Ну я ХЗ, этих разных MQ очень много, обжегшись на примере ZeroMQ, который считает адресный обмен чем-то из области научной фантастики (и реализует его как-то..., через...), уже как-то не хочется смотреть всё подряд, дабы убеждаться, что и оно тоже ничего толком не умеет...
Кстати, ещё примером того, что мне нужно, но в железном исполнении и без аутентификации, является коммутатор: стандартно шлёт от порта к порту, но может и broadcast'ить.

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

Ну я тоже глубоко ActiveMQ не тыкал, возможно это просто гонялка JMS.

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

Кстати, ещё примером того, что мне нужно, но в железном исполнении и без аутентификации, является коммутатор: стандартно шлёт от порта к порту, но может и broadcast'ить.

Это называется ethernet-свитч =).

Deleted
()

zeromq все, кроме пунктов 2 и 5 может

anonymous
()
Ответ на: комментарий от Deleted

Свитч броадкастит всё подряд и в этом плане как раз ZeroMQ - это и есть самый тупой и дешёвый свитч.

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

Во блин, ну ладно :) В общем-то логично конечно, учитывая роль оператора switch в ЯП.

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

=)

Что-то у меня парсер в последнее время пошаливает. Я понял ту фразу наоборот и решил, что тебе зачем-то нужен именно железный езернет свич...

Deleted
()

zeromq это ж такая сокетовая бибиотека / rpc, только реализующая концепцию очередей. Смотри в сторону ActiveMQ, он все это может, но performance может оказать не слишком большим.

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

RabbitMQ подходит, так что да, не всегда обязательно читать тред :)

DRVTiny ★★★★★
() автор топика

ИМХО AMQP не особо вписывается, так как для

«От -> „Многим“

Нужно для каждого клиента объявлять свою queue и байндить к exchange как fanout.

При этом для реализации схемы „От“ -> „Кому“ нужно опять же каждому клиенту свою queue, так как это уже другой тип байндинга (direct).

То есть все реализуемо, но как-то через Ж. Лучше посмотри на другие решения.

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

А что, в исходном запросе упоминалось что-то бесплатное? :) Ну и вы таки согласны, что оно отвечает заявленным требованиям?

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

В первом посте я уже писал, что мне доводилось работать с IBM MQ и да, оно нереально круто, хотя пока научишься, уже полкурса высшей математики можно было бы пройти. Но в принципе да, здорово, впечатления самые благоприятные. А толку-то? Вон небось RabbitMQ ничуть не хуже и, подозреваю, чуток попроще в освоении.

DRVTiny ★★★★★
() автор топика

гм... я сейчас, наверно, глупость сморожу, но это всё мне напоминает джаббер

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

>RabbitMQ ничуть не хуже и, подозреваю, чуток попроще в освоении.

Так лишь бы в радость, но для полноты списка. Никто не заставляет жрать кактусы :) (Я слабо представляю например, вашу мотивацию - IBM MQ берут, когда Ъ-ынтерпрайза очень хочется или у закачика пунктик на ем в ТЗ))

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

Ну в банке и был энтепрайз самый что ни на есть. Самая жесть, что через IBM MQ связывались с отделениями банка (просто тупо обслуживающие физических лиц)

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

У ØMQ упор на пропускную способность. Ему роутить и не надо.

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

Я за пару часов раскурил как на руби полностью нормально с ним работать. Вроде ничего, что требовало бы там полкурса высшей математики обнаружено не было :)

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

Что это? Гугел выдает какую-то чушь.

qpidc.

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

Вон небось RabbitMQ ничуть не хуже и, подозреваю, чуток попроще в освоении.

Реббит не умеет кластеризацию. Тот кластер, что там есть - он совершенно не полноценный.

А еще, если включить транзакции, то он превращяется в тормоза адского.

Не ынтерпрайз короче.

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

И что? Частный случай XMLного протокола для IMа с блэкджеком и шлюхами конечно немножко похож на миддлвари с очередями общего назначения (во всяком случае, он очень этого ХОТЕТЪ, но... [trollolo]XML и наследственные жабиропроблемы[/trollolo]). :)

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