PHP面接の体験談

WBOY
WBOYオリジナル
2016-06-13 12:23:47759ブラウズ

PHP 面接についての感想
昨日、バーティカル コミュニティのスタートアップ企業に面接をしました。質問の 1 つは、[複数のサーバーで SESSION を共有する方法] でした。この質問に対する私の答えは面接官に非常に不満でした。


複数のサーバーで SESSION を共有する 面接官の質問の意図は、複数のサーバー間で SESSION を共有し、相互にリアルタイムに同期することであることが理解できました。 、それで私にはアイデアがあります、それはSESSIONをSESSIONデータベースに保存することです。つまり、すべてのSESSIONがそこに保存されます。面接官は非常に不満を抱き、同時実行性が大きい場合に問題を解決する方法を尋ねました。


segmentfault でこの問題について議論すると、すべての回答は redis と memcached に関するもので、複数のサーバー SESSION を共有することが不可能になります。実は、面接官が知りたいのは「Cloud SESSION」と同様の機能であり、すべてのサーバーが完全にリアルタイム共有できるシナリオは多くありません。最初にこの質問を受けたとき、私の考えは非常に混乱しており、最初に思いついたのは、SESSION は複数のサーバー間でリアルタイムに共有され、回答は db に保存されるということでした。しかし、面接官は繰り返し強調しました。同時実行の量が非常に多いこと。


実際、本当の解決策はゲームサーバーを参照してサーバーを分割することです。

ゲームサーバーの同時実行性が高い場合、プレイヤーをそこに留めておくことは不可能です。サーバーの耐久制限に達すると、サーバーがいっぱいで入力できないことを示すメッセージが表示されます。冒頭で彼は、「

ハードウェア構成と帯域幅が現在のニーズを満たしているかどうかをまず検討する必要がありますこの一文が面接官をさらに不満にさせました。実際には、多くの場合、ハードウェア構成と帯域幅を改善することで同時実行性のプレッシャーを大幅に軽減できます。その後、プログラムとサーバーを最適化して同時実行性の問題を解決することが、この部分のプログラムの使用に限定されるべきではありません。多くの IT 企業は 2G または 4G のメモリ、デュアルコア CPU、SSD ではないハードドライブを使用していますが、いわゆる同時実行性の問題について話しています。








著作権表示: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。