2020年11月29日 (日曜日)

10:35:29 # Life カウントダウンタイマーの使い方についてビデオを作成してみたが、使い方の説明が必要なほど複雑ではなかったかも。 カウントダウンタイマーサーバだけが動いているNodejsのDockerイメージを作成してそれをCloud Runで1インスタンスで動かすという仕組みにしてみました。 サーバとしては/にリクエストがきたらユニークっぽいIDを作成して「部屋」のIDとしその部屋単位でタイマーを管理。 Adminページにいくと管理者としてタイマーの時間をいつでも再設定できるように。 ブラウザがクライアントでブラウザ側では時間管理を全くせずに毎秒サーバにリクエストを送るようにしてみました。 こうするとリクエストの数が毎秒クライアント数になるうえに最大一秒のズレが発生するんだけどまぁ実用上は問題ないかな。 複数インスタンスの調整とか実装してなくて1インスタンス同時リクエスト数の上限が80なので、1リクエストで100ms以内ということを考えるとこのモデルで800クライアントくらいまではうごくかな。 もっと使えるクライアントの数を増やすには複数インスタンスへの調整とか、リクエストの頻度を減らしてクライアントサイドでもっと処理するとかすれば良いと思う。

Junichi Uekawa