Domanda

C'è un elenco dei client PHP sul sito RabbitMQ . Sto chiedendo a questa domanda, nella speranza che le persone che hanno utilizzato uno di questi possono condividere le loro esperienze qui. Per es.

  • Hai avuto alcuna installazione problemi?
  • è stabile?
  • Ci sono stati dei problemi di prestazioni?
  • Come si trova la documentazione / supporto?

Anche se hai appena usato una di queste librerie, si prega di condividere le vostre esperienze.

Per avere un riferimento, qui sono alcuni dei clienti elencati:

P.S. So che "Miglior ..." è "soggettiva", ma il punto della questione è quello di esperienze raccogliere e aiutare le persone a prendere una decisione informata su queste librerie AMQP. Si prega di non istintiva vicino a questa domanda solo perché ha la parola "migliore" in esso.

P.P.S. Sto utilizzando PHP 5.3 su RHEL 5.

È stato utile?

Soluzione

Per riferimento, PECL AMQP estensione e http://php.net/manual/fa/book.amqp.php sono la stessa cosa, è il pacchetto, la altra documentazione per il pacchetto.

Come un manutentore del prolungamento ufficiale di PHP AMQP, io sono un po 'prevenuto. Molte persone usano questa estensione in ambienti di produzione a bassa latenza ad alto volume dal momento che è molto più veloce di quello scritto in PHP nativa. Inoltre, dal momento che sempre uso questo al mio lavoro, devo continuare a funzionare e aggiornate.

Lo svantaggio di questa estensione è che non è disponibile per Windows, tuttavia, perché la libreria da cui dipende è attualmente in fase di porting. Non c'è ETA per il supporto di Windows, ma non appena le dipendenze supporto di Windows, è il nostro obiettivo per la porta l'estensione verso di Windows pure.

Altri suggerimenti

Questa libreria sembra essere viva e riuscendo l'originale da code.google:

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

Ci sono anche prove e Travis CI.

alcune informazioni da revisione iniziale:

https://github.com/tnc/php-amqplib biforcuta http://code.google.com/p/php-amqplib/ in un punto sconosciuto in passato e che non hanno una storia chiara o mostrare cosa è stato modificato, che si traduce in una sfortunata frammentazione degli sforzi. Sembra anche di non essere al passo con correzioni applicate a quello originale, alcuni dei quali sono venuti negli ultimi mesi.

http://code.google.com/p/php-amqplib/ stessa ora sembra non essere più in fase di sviluppo attivo, e un brutto è stato applicato più di un mese fa, lasciando il tronco in uno stato rotto. (Ho presentato una patch per correggere questo, ma questo è un brutto segno).

Dopo aver guardato sia php-AMQP e la versione PECL, le mie impressioni sono che il supporto di base per la pubblicazione ed il consumo di messaggi è implementato. Tuttavia, essi funzionano solo fuori dalla scatola su piattaforme * nix. Si dovrà fare i salti mortali per farli funzionare su Windows (che può o non può essere un problema a seconda del vostro sviluppo o la piattaforma di distribuzione).

Bonus: https://github.com/tnc/php-amqplib viene utilizzato in il libro MEAP "RabbitMQ in azione". Sia che avrà alcuna influenza sui suoi resti di adozione da vedere.

C'è anche https://github.com/bkw/php-amqp/ che credo che è uno specchio di http://code.google.com/p/php-amqplib/ . Ho avuto qualche problema con il codice: messaggi di notifica durante il normale funzionamento e tutti i tipi di errori e gli avvisi quando c'è qualcosa che non va. Il codice prende anche la parola del manuale di PHP per scontato; per esempio, zoccolo leggere le chiamate vengono controllate solo contro un ritorno di errore, mentre in realtà sto solo scoprendo che una delle prese / timeout può essere indicata da una delle 4 condizioni diverse.

sto iniziando a pensare che una soluzione libreria compilata (vale a dire l'estensione PHP) è l'opzione migliore, soprattutto perché ci sei problemi di threading e presa, e PHP gestisce sia male.

Stiamo lavorando su AMQP interoperabilità . Si cerca di individuare e standardizzare un modo comune per i programmi di PHP per creare, inviare, ricevere e leggere messaggi MQ attraverso AMQP per realizzare l'interoperabilità.

Se si effettua una puntata su di esso si può iniziare con qualsiasi trasporto compatibile interoperabilità. Sarete ancora in grado di cambiare in futuro, non si è chiuso dentro.

enqueue / amqp- ext e enqueue / amqp- lib . I primi si lavora sulla parte superiore del php AMQP estensione dove un altro adotta phpamqplib.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top