Лучшая клиентская библиотека PHP для доступа к rabbitmq (AMQP)?

StackOverflow https://stackoverflow.com/questions/4405992

  •  25-09-2019
  •  | 
  •  

Вопрос

Eсть Список клиентов PHP на сайте rabbitmq. Отказ Я задаю этот вопрос в надежде, что люди, которые использовали ни одного из них, могут поделиться своим опытом здесь. Например

  • У вас были проблемы с установкой?
  • Это стабильно?
  • Были ли проблемы с производительностью?
  • Как документация / поддержка?

Даже если вы только что использовали одну из этих библиотек, пожалуйста, поделитесь своим опытом.

Для справки, вот некоторые из клиентов перечислены:

PS Я знаю, что «лучшее ...» является «субъективным», но смысл этого вопроса состоит в том, чтобы собрать опыт и помочь людям принять обоснованное решение об этих библиотеках AMQP. Пожалуйста, не колено, не закройте этот вопрос только потому, что в нем есть слово «лучшее».

PPS Я использую PHP 5.3 на RHEL 5.

Это было полезно?

Решение

Для справки, Расширение PECL AMQP а также http://php.net/manual/fa/book.amqp.php. То же самое, один из них - это пакет, другая документация для пакета.

Как сопровождающий официального расширения PHP AMQP, я немного предвзятый. Многие люди используют это расширение в средах производства низкой латентности с высоким объемом, поскольку она гораздо быстрее, чем один, написанный на родном PHP. Кроме того, поскольку я постоянно использую это на своей работе, я должен держать его работать и в курсе.

Недостаток к этому расширению состоит в том, что он не доступен для Windows, пока, поскольку библиотека, на которой она зависит, в настоящее время переходит. Нет ETA для поддержки Windows, но, как только в качестве зависимостей поддерживает Windows, это наша цель, чтобы портировать расширение в Windows.

Другие советы

Эта библиотека, кажется, жива и преуспевает оригинал от кода. Google:

https://github.com/videlalvaro/php-amqplib.

Есть также тесты и Трэвис СИ.

Некоторая информация от первоначального обзора:

https://github.com/tnc/php-amqplib.разветвленныйhttp://code.google.com/p/php-amqplib/На неизвестной точке в прошлом и не имеет четкой истории или показать то, что было изменено, что приводит к несчастной фрагментации усилий. По-видимому, не следует идти в ногу с исчезновениями, применяемыми к исходному, ряд, которые пришли за последние несколько месяцев.

Также http://code.google.com/p/php-amqplib/ Сама теперь, похоже, больше не является активным развитием, а плохая патч была нанесена более месяца назад, оставляя багажник в сломанном состоянии. (Я отправил патч, чтобы исправить это, но это плохой знак).

Посмотрев как PHP-AMQP и версию PECL, мои впечатления состоят в том, что реализована базовая поддержка публикации и потребления сообщений. Однако они будут работать только из коробки на * NIX платформы. Вам придется прыгать через обручи, чтобы заставить их работать на Windows (что может быть или не может быть проблемой в зависимости от вашей платформы разработки или развертывания).

Бонус: https://github.com/tnc/php-amqplib. используется в книге постройки «Rabbitmq в действии». Будь то какое-либо влияние на его усыновление, еще предстоит увидеть.

Есть также https://github.com/bkw/php-amqp/ который я думаю, это зеркало http://code.google.com/p/php-amqplib/. Отказ У меня были проблемы с этим кодом: обратите внимание на сообщения во время нормальной работы и всевозможных ошибок и предупреждений, когда есть что-то не так. Код также принимает слово руководства PHP как должное; Например, вызовы прочитанных сокетов проверяются только против возврата ошибок, в то время как на самом деле я просто обнаружил, что в центре времени / время ожидания может быть указывается любым из 4 различных условий.

Я начинаю думать, что скомпилированное решение библиотеки (т. Е. Расширение PHP) - лучший вариант, в частности, после того, как проблемы с резьбой и сокетами, а PHP обрабатывает как плохо.

Мы работаем над amqp Interop.. Отказ Он пытается определить и стандартизировать распространенный способ для создания программ PHP, отправлять, получать и прочитать сообщения MQ через AMQP для достижения взаимодействия.

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

В настоящее время мы поддерживаем enqueue / amqp-ext а также enqueue / amqp-lib. Отказ Первый работает на вершине расширения PHP AMQP, где другой принимает phpamqplib.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top