Lingrリベンジ、うまくいったようで、ほんとにおめでとう > エジケン
KAIも我が事のようにほっとしました。
この時間帯はちょうど週末テニス真っ最中で残念ながら参加できませんでしたが、当日のアーカイブでその様子がよくわかりました。
途中、一部ユーザーの強制ログオフや表示の遅れ、取りこぼしなど今後改善すべき課題はいくつかあるようですが、まずはこれだけの規模のリアルタイムチャットを成功させた、技術的意義は非常に大きいと思います。
昔のパソコンプログラマや今の情報系Webプログラマの大半は、この規模の意味がなかなか理解できません。前回原因となったデッドロック問題や排他制御の問題は、同時に複数の人間が操作する意味がわかっていないと、なかなか解決できない問題です。
複数と言っても5、6人規模ではなく100人、200人といったレベルで、同時に同じアプリケーションを操作し、これが表示だけであれば何の問題も発生しません。しかしこの100人、200人が、ひとたび一斉に更新をかけにくるとそうは簡単にいかなくなります。当然待ち行列が発生しますから、これをどう言うアルゴリズムでスケジューリングないし分散化させるかが、偏にアプリケーションの命運を左右します。
Lingrの場合を考えてみても、例えば100人が同時に発言したとすると、この100人の発言をどのように受け付け、これが100人のブラウザの画面にどのように表示され、このあと101人目の発言の受付へと続いていくか、その仕掛けが一筋縄ではいかないことは簡単に理解できると思います。
これが、一部問題があるとは言え、100人規模で正常に動作したと言うことは、基本的なアーキテクチャ、そのアルゴリズムが間違っていないことを証明しています。
技術開発の醍醐味は、まさにここにあります。
以前どこかで梅田さんも書いていましたが、こういった実証実験をインターネットは簡単に実現してしまいます。
技術者にとって本当に幸せな時代が来たと言うほかは、ありません。 KAI
コメント