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!