DBus това ли търся?

Имам нужда от IPC система на Linux. Моите изисквания са:

  1. ориентиран към пакет/съобщение
  2. способност за управление както на комуникация от точка до точка, така и от един към много
  3. няма йерархия, няма сървър и клиент
  4. ако една крайна точка се срине, останалите трябва да бъдат уведомени
  5. добра поддръжка от съществуващи Linux дистрибуции
  6. наличие на "свързване" за Apache, с цел създаване на динамични страници

сортирани по важност (приблизително). Нямам нужда от изключителна производителност, нито ще изпращам голям обем данни.

Случайно попаднах на DBus и изглежда като добър кандидат (това е pecl::packages::dbus добър механизъм, позволяващ на Apache достъп до DBUS?). Но преди да се потопя дълбоко в документацията на DBus, бих искал да чуя някои предложения.


person Lorenzo Pistone    schedule 02.04.2012    source източник
comment
Отговорът: Да. dbus отговаря на тези изисквания.   -  person Vanwaril    schedule 07.05.2012
comment
Не разбирам какво имаш предвид под свързване на Apache. Тези платформи/библиотеки/решения са почти винаги независими от Apache.   -  person Mahmoud Al-Qudsi    schedule 07.05.2012
comment
@MahmoudAl-Qudsi Искам да кажа, че искам да мога да събирам информация от тази комуникационна система и да генерирам уеб страници при поискване от Apache по лесен начин. Нямам опит с каквато и да е рамка на мрежата, така че нямам предпочитания какво трябва да науча. но имам нужда от стабилна и обща (сред Linux дистрибуции) библиотека, защото проектът е предназначен да се използва от други. Поради същата причина предполагам, че ще използвам apache, защото предполагам, че това е най-разпространеният уеб сървър в областта на linux.   -  person Lorenzo Pistone    schedule 08.05.2012
comment
Бъркате целта на уеб сървъра с целта на скриптовете, които ще изпълнява.   -  person Mahmoud Al-Qudsi    schedule 08.05.2012


Отговори (1)


ZeroMQ предоставя всички функции, които поискате, а след това и някои. По същество това е система за съобщения „работи без значение какво“, която ще се погрижи за всички ъглови случаи и тънкости в IPC съобщенията.

Въпреки това ZMQ и всички други подобни не са приложения - те са API, с които можете да създавате приложения. Ще използвате ZMQ от какъвто и скрипт да работи вашият Apache (напр. PHP бекенд).

person Mahmoud Al-Qudsi    schedule 07.05.2012
comment
това, което ме тревожи е, трябва ли да създам свой собствен парсер в PHP за собствения протокол zmq или вече има обвързвания? - person Lorenzo Pistone; 08.05.2012
comment
Няма значение, току-що попаднах на пример за PHP в уебсайта на zmq :D - person Lorenzo Pistone; 08.05.2012
comment
Точка 4 липсва: Понастоящем нито един от гнездата няма да предостави известие за партньорско свързване/прекъсване - person Lorenzo Pistone; 08.05.2012
comment
Можете да приложите това сами достатъчно лесно с ping съобщение - има много причини, поради които 0mq не прави това веднага, главно защото дефиницията за прекъсване на връзката е много специфична за случая. Ако публикувате въпрос в SO за добър начин да го направите, ще получите отговори. (или, още по-добре, по-добри алтернативи от известието за прекъсване на връзката) - person Mahmoud Al-Qudsi; 08.05.2012
comment
Трябва окончателно да използвате ZeroMQ, защото е много по-лесно за работа и за персонализиране с Apache и PHP. Използвайте D-Bus само ако нямате избор (повярвайте ми) - person Epoc; 04.08.2014