PHP の高い同時実行性 php+go がアクター モデルを実装 (1)
従来の PHP コードは、memcache API および mysql API を呼び出すときにブロックされ、同時実行性に影響するボトルネックとなります
?
PHP 自体にはスレッドやコルーチンがないため、最適化が容易ではありません。そこで、バックエンドの非同期処理に Go 言語を使用することを考えました。
?
動的言語機能、組み込み GC、簡潔で効率的な組み込みコルーチンを備え、通信による共有を推奨するコンパイル型を使用する理由
?
システムの一般的なプロセスは次のとおりです
?
PHP は非同期リクエスト キャッシュを必要とします。DB を使用する場合、リクエストされた情報はバックエンドに送信されます (メッセージ キューまたはソケットを使用できます)。
?その後、php は他のことを行います
?
バックエンド go はリクエストを受信し、それに応じて処理し、キャッシュやデータベースなどにクエリを実行します。
?
PHP が前の非同期リクエストのキャッシュと DB データを使用する必要がある場合、バックエンドから返された結果メッセージを受信します...
?
システムの一般的なプロセスは次のとおりです
?
?