Heim  >  Artikel  >  PHP-Framework  >  Wo werden Swoole verwendet?

Wo werden Swoole verwendet?

(*-*)浩
(*-*)浩Original
2019-12-06 14:10:342545Durchsuche

Wo werden Swoole verwendet?

Einführung in Anwendungsszenarien

Verbinden und Kommunizieren mit Hardwaregeräten (Positionierungsgeräten)

IM-System (wird für Live-Anwendungen verwendet Broadcast-Seiten Chat-Kommunikation) (Empfohlenes Lernen: Swoole-Video-Tutorial )

Szenario 1 – Echtzeiterfassung von Positionsdaten und Echtzeitausgabe (z. B. Fahrverhalten des Didi-Fahrers). Flugbahn)

Anweisungen:

Es ist notwendig, alle Positionierungsgeräte in Echtzeit zu empfangen und die Echtzeit-Streckenaufzeichnungen auf der Karte anzuzeigen

Hinweis:

Der erste Punkt:

Benutzer 1, 2, 3 sind mit Web1-Server verbunden, Web1 kann nur Benutzer 1 übertragen , 2, 3 beim Senden von Informationen, aber keine Übertragung von Web2. Verbundene Benutzer 4, 5, 6. Gehen Sie davon aus, dass Benutzer 1 eine Nachricht sendet. Alle Benutzer auf dem Web2-Server können sie nicht sehen

Wo werden Swoole verwendet?

Zweiter Punkt: Frequenzkontrolle von Nachrichten, zum Beispiel: 100 Geräte, 100 Benutzer, 100 Geräte laden ein Datenelement pro Sekunde hoch, das gesendet werden muss an jeden Benutzer in Echtzeit, d. h. 100*100 = 1 W Mal pro Sekunde, sodass Daten pro Sekunde zusammengefasst und an alle Benutzer usw. gesendet werden können.

Szenario 2 – Nur Positionierungsgeräte sammeln und speichern Sie sie in der Datenbank

Anleitung: Sie müssen die von allen Positionierungsgeräten hochgeladenen Daten speichern, 7 Geräte, ein Datenelement pro Sekunde, ich persönlich verwende die Aufgabenfunktion von Swoole (liefern). asynchrone Aufgabe zum task_worker-Pool, diese Funktion ist nicht blockierend, die Anzahl der Arbeitsprozesse kann ebenfalls konfiguriert werden) und rufen Sie dann die Schnittstelle auf, um die Bibliothek aufzurufen

Serverspeicheralarmproblem

Grund: Es liegt in der swoole_server->task-Funktion

Offiziell eingeführt, dass die unterste Ebene der Aufgabe die Unix-Socket-Pipe-Kommunikation verwendet, was vollen Speicher und keinen E/A-Verbrauch bedeutet. Die Lese- und Schreibleistung eines einzelnen Prozesses kann 1 Million/s erreichen. Verschiedene Prozesse nutzen unterschiedliche Pipelines für die Kommunikation, wodurch die Nutzung mehrerer Kerne maximiert werden kann.

Wenn die Aufgabe jedoch darin besteht, die Programmschnittstelle aufzurufen, steigt die Speichernutzung aufgrund von Netzwerkverzögerungen weiter an, wenn die hinzugefügten Aufgaben größer sind als die verbrauchten Aufgaben, was dazu führt, dass der Speicher des Servers voll ist.

Lösung: Steuern Sie die Häufigkeit der Nachrichteneingabe in die Aufgabe. Sie können diese Zeit definieren und festlegen, ob sie entsprechend Ihrem eigenen Geschäftsszenario verzögert werden kann, alle Daten innerhalb von 1 Sekunde zusammenfassen und dann die Programmschnittstelle aufrufen (I Ich persönlich verwende Redis beim Zusammenfassen: Swoole Framework Wiki

Vorteile

kapselt die Modellklasse der Datenbank, die ORM-Schnittstelle der Datenbank

Redis-Kapselung , wodurch ein Zugriff auf mehrere Instanzen erreicht werden kann

Das Framework verfügt über einige häufig verwendete Methoden wie Protokoll usw. (Ich habe nur Protokoll verwendet)Webim hat einen offiziellen Dämon, auf den Sie sich beziehen können es

Das obige ist der detaillierte Inhalt vonWo werden Swoole verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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
Vorheriger Artikel:So wenden Sie Swooles Timer anNächster Artikel:So wenden Sie Swooles Timer an