2020年5月13日水曜日

あるウェブサービス #2

#1
昔のことを思い出しつつ想像を膨らませてみる。

昔のゲームの時は、いわゆる「ワールド」毎にサーバを設けての提供はしていなかったので、 何か起きちゃったら全ユーザーが影響を受けるものだった。

いろいろとまずい箇所が浮き彫りになったので大改修をする運びに。
進める中で徐々に同時プレイ可能なユーザー数を増やして負荷を見ていた記憶がある。
時間毎に区切ってたんだったかな。プレイ可・不可となるユーザーをどう分けていたかは覚えていない。

#1 で書いたウェッブサービスはゲームではないけれど、ワールド毎に分けているような構成だったら多くのユーザーが影響受けずに済んでいそうな気がした。
実は分けられていつつ、共通のマスターDBがいてそれがダメなのかもしれないけど。。
しかしそれなら結構日数経っているし、もうある程度対策ができててもおかしくない。

Twitter や GitHub のようなサービスだと分けられないと思う。よくわからないけど。
これらが落ちた時は「いやワイはその時間全然問題なく使えてましたよ」という人を見かけたことがない。Slack もかな。
Fail Whale みなくなるまでにTwitterの中の人はいろいろやったわけで。GitHub 怒りのユニコーンはあまり見たことがない。

ゲームの時よりも前にいた会社のあるサービスだと、ユーザー毎にシャードを分けられるものだったので全落ち、ということはなかった。ユーザーはシャードを意識することは一切ない。

戻って、件のサービスについては、どう構成すると性能や費用、また運用含めいい感じなんだろう。
ワールドでわけると過疎ってしまった時の後始末が出てくるか。同構成でもりもり立てるのもあまり嬉しくはない。デプロイ台数も増えてしまうな。

当初想定の何倍の負荷がかかっているのだろうというのは気になる。

そういえば ポケモンゴは予想の50倍だったというから見事としか言いようがない。
https://ascii.jp/elem/000/001/244/1244494/

0 件のコメント:

コメントを投稿