Heim  >  Artikel  >  PHP-Framework  >  Wie Swoole mit hoher Parallelität umgeht

Wie Swoole mit hoher Parallelität umgeht

(*-*)浩
(*-*)浩Original
2019-12-07 13:32:032862Durchsuche

Wie Swoole mit hoher Parallelität umgeht

Wie swoole mit hoher Parallelität umgeht

①Einführung in das Reactor-ModellVideo-Tutorial)

Das asynchrone, nicht blockierende IO-Multiplexprogramm verwendet das klassische Reaktormodell, das, wie der Name schon sagt, „Reaktor“ bedeutet. Es verarbeitet selbst keine Daten. Es kann nur die Ereignisänderungen eines Socket-Handles (oder eines Pipe-, Eventfd-, Signal-Handles) überwachen.

Reactor ist nur ein Ereignisgenerator. Die eigentlichen Vorgänge am Socket-Handle, wie z. B. Verbinden/Akzeptieren, Senden/Empfangen und Schließen, werden im Rückruf abgeschlossen.

②swooles Architektur

swoole verwendet Multithread-Reaktor + Multiprozess-Worker.

Wenn eine Anfrage eintrifft, geht Swoole damit folgendermaßen um:

请求到达 Main Reactor
        |
        |
Main Reactor根据Reactor的情况,将请求注册给对应的Reactor
(每个Reactor都有epoll。用来监听客户端的变化)
        |
        |
客户端有变化时,交给worker来处理
        |
        |
worker处理完毕,通过进程间通信(比如管道、共享内存、消息队列)发给对应的reactor。
        |
        |
reactor将响应结果发给相应的连接
        |
        |
    请求处理完成

Da der Reaktor auf Epoll basiert, kann jeder Reaktor unzählige Verbindungsanfragen verarbeiten . Auf diese Weise kann Swoole problemlos mit hoher Parallelität umgehen.

Das obige ist der detaillierte Inhalt vonWie Swoole mit hoher Parallelität umgeht. 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 testen Sie SwooleNächster Artikel:So testen Sie Swoole