LINUX.ORG.RU

Есть ли распределённый аналог dbus?


0

0

Есть ли распределённый аналог dbus? А то сам dbus предполагает топологию звезда(один dbus-daemon и все проги к нему коннектятся).

Суть в том чтобы можно было обмениваться сообщениями с разных машин. dbus умеет по tcp работать(что, судя по докам, не есть use case для dbus), но это не то:

1) всё равно топология звезда, если та тачка упадёт то и вся сеть упадёт.

2) если раньше на то что dbus_bus_get блокирует программу можно было наплевать(если dbus-daemon на той же машине) то теперь надо это учитывать что добавляет кучу гемора если связь глючит или удалённых хост не отвечает.

В принципе, подойдёт даже нераспределённая шина сообщений, главное чтобы был неблокируемый API и устойчивость к падениям сети. dbus именно из-за этих проблем не подходит.

Шифрование и авторизация не нужны, но если есть то пригодятся :)

anonymous

а на сколько corba или tibco ресурсоёмкие и тяжёлые в освоении? мне бы что попроще, полегче :). И чтоб зависимостей поменьше т.к. планируется установка на голые тачки.

Что-то в духе dbus. Чтоб на C/C++ было написано.

Собстно пишу бота для jabber который бы принимал сообщения по шине и отправлял их другим людям(например, события в nagios через nagios event broker или там snmp trap).

Всем ответившим спасибо!

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

TIBCO - это энтерпрайз. Со всеми вытекающими.

Для твоих задач, наверное достаточно просто кидать клиентам-подписантам UDP-пакеты по сетке. Им ведь не критично потерять несколько сообщений или отработать одно сообщение несколько раз?

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

> Им ведь не критично потерять несколько сообщений или отработать одно сообщение несколько раз?

Ты прав, просто добавлю в UDP сообщение serial и буду кидать в сеть по три одинаковых пакета. Если три пакета подряд не дойдут то считаем что хост в дауне. Если какая-то часть дойдёт то пакеты с одинаковым serial будем игнорировать кроме первого. Дёшево, сердито, nonblocking :). А т.к. событий относительно немного то тройное дублирование инфы не забьет сеть и не нагрузит тачки.

По уровню функционала не dbus, но сойдёт :). А главное "биндинги" под все языки есть :)

В идеале сделать peer-to-peer сетку когда если один клиент сети знает второго а второй третьего то второй клиент говорит первому о третьем. Вирусные марке^Wтехнологии :). Но это щас не нужно.

Спасибо мужики :)

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

mbus прям щас смотрю :) про него в faq dbus прочитал :). Ты его уже использовал?

ещё http://www.redplain.com/ посмотрю...

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

> Дёшево, сердито, nonblocking :)

Угу. Хотя первая мысль, которая приходит при слове DBUS - это всё-таки какого хрена не заточить её сразу под сеть.. Всё равно-ж этим кончится :-)

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

Еще можно на Spreed посмотреть! http://www.spread.org/

Spread is an open source toolkit that provides a high performance messaging service that is resilient to faults across local and wide area networks. Spread functions as a unified message bus for distributed applications, and provides highly tuned application-level multicast, group communication, and point to point support. Spread services range from reliable messaging to fully ordered messages with delivery guarantees.

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

> это всё-таки какого хрена не заточить её сразу под сеть.. Всё равно-ж этим кончится :-) Это я исключительно из-за того что грамотная шина предлгагает кучу сервисов удобных. Сигналы там всякие, rpc(если я правильно понимаю что такое rpc), подтверждение о доставке итп. Я люблю изобретать велосипеды, но не хочется совсем уж всё с нуля. Эдак можно дойти и донаписания своей ОС. Один товарищ вон эмулятор терминала писал, а получилось известно что :).

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

> Еще можно на Spreed посмотреть!

Спасибо, посмотрю!

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

корба - наше всио! И да сгинут всякие поделки (впрочем, как и недореализации типа бонобы)

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

> Corba ушла - http://citforum.univ.kiev.ua/SE/middleware/corba_notforgotten/

как-то статься совершенно ни о чём. скорее под лозунгом "web сервисы - это не silver bullet". ну не пуля, ну и что? и из неё как-то не следует, что CORBA действительно куда-то ушла.

// wbr

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

вообще для большинства случаев старый добрый http рулит

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

> на самом деле хотел эту ссылку привести - http://www.citforum.ru/SE/middleware/corba_history/

зато CORBA - это круто ;) искусство требует жертв..
ps: да, IMHO статья по крайней мере в том, что касается сложности, вполне адекватная. что делать..

// wbr

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


--- cut ---
Мичи Хеннинг (Michi Henning, michi@zeroc.com) является руководителем исследовательских работ компании ZeroC. С 1995 по 2002 гг. он работал над CORBA в качестве члена совета по архитектуры OMG, а также как разработчик ORB, консультант и преподаватель. Вместе со Стивом Виноски (Steve Vinoski) он написал книгу «Advanced CORBA Programming with C++» (Addison-Wesley, 1999). После перехода на работу в компанию ZeroC он занимается проектированием и реализацией продукта Ice, промежуточного программного обеспечения нового поколения. В 2003 г. при его участии было написано руководство «Distributed Programming with Ice». Он получил диплом с отличием по специальности «Компьютерные науки» в University of Queensland, Австралия.
--- cut ---

"ба, знакомые всё лица!"
читаю и чувствую - где-то я это уже видел.. айс значит. ну-ну.. :)))

ps: впрочем, это напрямую не опровергает утверждения, что рожаемые OMG стандарты на тему CORBA действительно весьма муторны.

// wbr

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