Heim > Backend-Entwicklung > PHP-Tutorial > Welche Anwendung wird bei umfangreichen PHP-Anwendungen normalerweise für die Nachrichtenwarteschlange verwendet?

Welche Anwendung wird bei umfangreichen PHP-Anwendungen normalerweise für die Nachrichtenwarteschlange verwendet?

WBOY
Freigeben: 2016-09-24 09:04:04
Original
1733 Leute haben es durchsucht

Ich habe Redis als Nachrichtenwarteschlange verwendet und plötzlich dachte ich: Gibt es eine bessere?

Antwortinhalt:

Wir verwenden Bohnenstange, qps beträgt etwa 1000 Wenn Sie lediglich Warteschlangendienste ausführen, empfehle ich Beanstalkd (klein, gute Leistung). Wenn Sie hohe Verfügbarkeit und großes Volumen berücksichtigen, können Sie Kafka verwenden. Warum weisen Sie nicht zunächst auf die Aspekte der bestehenden Lösung hin, die nicht gut genug sind? Ich habe das Gefühl, dass dieses Problem nichts mit PHP zu tun hat? Bei der Auswahl der Nachrichtenwarteschlange werden Geschäftsszenarien stärker berücksichtigt:

* Leistung, z. B. wie viele Nachrichten pro Sekunde. Wenn Sie Zehntausende Nachrichten pro Sekunde haben, können Beanstalk und RabbitMQ nicht direkt verwendet werden.
* Zuverlässigkeit, dürfen Nachrichten verloren gehen? Ist Durchhaltevermögen gefragt?
* Hohe Verfügbarkeit, können Ausfallzeiten toleriert werden?
* Ob eine Verteilung erforderlich ist
* Betriebs- und Wartungskosten, ob die Entwicklung (Betrieb und Wartung) Ihres Unternehmens in der Lage ist, diese Nachrichtenwarteschlange aufrechtzuerhalten
* Kundenunterstützung, dies erfolgt auf Sprachebene. Kafka ist beispielsweise eine sehr gute Nachrichtenwarteschlange, aber der PHP-Client ist nicht sehr gut geschrieben und es ist schwierig, ihn selbst neu zu schreiben. Daher sollten Sie bei der Auswahl vorsichtig sein.

Nachdem Sie diese Faktoren abgewogen haben, können Sie entscheiden, wie Sie wählen möchten.
Welche Nachrichtenwarteschlangen gibt es: Nachrichtenwarteschlange
Leistungsvergleich: bravenewgeek.com/dissec redis,rabbitmq Verwenden Sie Redis und Rabbitmq Dies hängt von Ihrem Anwendungsszenario ab. Im Allgemeinen ist die Verwendung von Redis relativ einfach, aber Redis kann die Situation nicht erkennen, in der die Nachricht nicht normal verarbeitet wird und andere Prozesse die Nachricht trotzdem verarbeiten können, d Verarbeitung der Nachricht.
Wenn Sie eine vollständige Nachrichtenwarteschlange wünschen, habe ich Folgendes verwendet: Gearman und Rabbitmq, die beide gut sind. php-resque Getriebemann. Wenn Sie keinen Nachrichtenverlust über Netzwerke hinweg benötigen, können Sie sich auch für Kafka entscheiden Arbeitnehmer
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage