Pull to refresh

Comments 19

Ожидал увидеть 4 вариант — написание библиотеки для PHP.
Была мысль, но не обсуждалась, так как исходили из «личных предпочтений, знаний и опыта»
Тоже вариант. Но мы повелись на расхваленный D-Bus. А Вы, как я понял, не фанат D-Bus. Нас пока всё устраивает, работает чётко.
Ну это не мой тред, я просто делал как проще, а потом уже наткнулся.
Обращения на локалхост идут мимо сетевой карты =)
Зато была бы возможность осуществлять вызовы по сети, когда оно понадобится.
Обращения на локалхост идут мимо сетевой карты
— этого не знал. А возможность взаимодействия по сети осталась. Конфиг D-Bus-а поправить и вперёд.
Почитал про gearman. Явных преимуществ перед D-Bus не вижу. Да и наш проект уже давольно весомый, переписывать пока причин нет.
Посмотрел ICE, вроде бы вещ мощная, но не думаю, что использование D-Bus — это велосипед. Велосипедом было бы использование сокетов. Хотя, я думаю, что иногда маленькие велосипеды имеют приимущества перед громосткими фрэймворками. И повторюсь, что технология была выбрана с учётом имеющихся знаний.
Интересно… но так как в D-Bus вроде как нету очередей то для таких вещей лучше использовать, что то на базе AMQP.
Насколько я понял, AMQP — аналог D-Bus. Запросы в D-Bus выполняются последовательно. У каждого запроса есть таймаут. По-умолчанию 25 сек. Т.е. пока текущий запрос не обработался, остальные ждут. Я думаю, это можно назвать очередью. (К сожалению сейчас не нашёл авторитетной ссылки, но пишу то, что сам проверял). Собственно из-за этой последовательной обработки, мы и пришли к нитям стартующим в запросах.
Всё же не аналог. AMQP гарантирует доставку сообщений. Он оперирует понятием «сообщение», а не «запрос» что явно лучше в данной ситуации. D-bus это по сути RPC.
Простите, я слабо понимаю разницу между запросом и сообщением в данном контексте. Ведь запрос выполняется посредством посылки сообщения. Вы не правы, что D-Bus не оперирует понятием сообщения. Смотрите D-Bus Specification. D-Bus так же гарантирует доставку сообщений.
Спасибо авторам коментов! Мой кругозор вариантов IPC расширился.
Подход оригинальный, только в случае необходимости не получится вынести обработчика на второй сервер, чтобы разгрузить основной. Или я опять все напутал?
Получится. D-Bus может работат по TCP. Хотя, если честно, я пока не пробовал.

Спасибо большое за статью! Прошло 8 лет, интересно, какова судьба применения дубаса?

Sign up to leave a comment.

Articles