2020-09-14

バズったらどうする?

どこどこのサイトにアクセスできなくなった
何々のソシャゲが遊べなくなった
という話題を、たまに聞かれることがあるかと思います。
でも、有名なサイトでなくても、ソシャゲでなくても、そうなってしまうケースがあります。

例えば


地下アイドル活動をされているグループがあるとします。
ライブの告知をホームページに載せつつ、ホームページと同じサーバでグッズ販売も行っていました。

ある日、そのグループが、何かのきっかけでメディアに大々的に取り上げられ、超バズりました。
ところが…バズったはいいものの、ホームページにアクセスが殺到し、常に見ることができない状態が続いてしまいました。
グッズ販売もできなくなってしまい、売上も消滅。
やっとサーバにアクセスできるようになった時には、多くの人が忘れてしまっていて、残ったのはバズった時の売上消滅というマイナスだけ…

というケースは、往々にして起きえます。
(「地下アイドル」の箇所を別の言葉に置き換えてみると…)

このようなケースの問題点そのものは単純で、
「短期的に、一カ所に、膨大なアクセスが集中する」
ことです。
状況さえ予め把握しておけば、技術的に備えることは可能です。

解決方法1 - CDN


解決方法の1つに、CDNといわれる仕組みがあります。
ホームページの情報などのように、情報提供側から発信するのみの用途には、非常に役立ちます。
実際に動作している仕組みは非常に複雑なのですが、簡単に表現すると、東京・大阪・名古屋といった場所ごとに発信内容のコピーを自動的に配り、全国の人が一カ所にアクセスしないような仕組みになっています。
使う側は、このような仕組みをあまり意識しなくても、クラウドサービス上で自動的にコピーしてくれます。

この仕組みは、気づかないうちに割と皆様身近に接していらっしゃると思います。
●●TVなどのインターネット放送局は、この仕組みを巧みに組み合わせて配信しており、何百万人という視聴者が同時に見ても差し支えなく放送されるようになっています。

そう言ってしまうと大げさに聞こえてしまいますが、大容量でなければ、仕組み自体は個人レベルでも十分に買える値段です。
難点といえば、上記のように「コピーして配る」ので、場所によってはすぐに反映されない(数分くらい時差がある)ことがあります。
(●●TVだとコマーシャルが入ったりする時に、このあたりをうまく調整しているようです)

解決方法2 - 自動スケーリング


例えばインターネットショッピングのように、情報提供側からの発信だけでなく、実際に見た人が買い物かごに入れるといった「操作」が発生する場合は、CDNは使えません。
そのような状況に対して、最近使われているのが「自動スケーリング」という技術です。

以前記しましたデータセンターの中には、沢山のコンピュータがあるのですが、それらは常に100%使われているわけではありません。
自動スケーリングは、何かの基準に該当した場合(多くの場合は、今動いているサーバが音を上げそうになった時)、データセンターの中に同じサーバのコピーを自動的に作って処理能力を上げようとします。
そしてお互い暇になってくると、助っ人に回った側から自動的にサーバを止めて、空きを作ります。

コピーを動かした時には料金は一時的に上がりますが、暇になると元の料金に戻ります。
また、バズりすぎて料金が青天井になっても困りますので、予め助っ人の人数を決めておくこともできます。

「過去のしがらみ」で、できないことも。


ただ、自動スケーリングについては、既存のソフトではできないことも多くあります。
できますよー、と安請け合いする技術者もいたりするのですが、実際にやってみると、助っ人サーバ同士が「一カ所に集中する」状態を生んでしまい、結局動かなくなったりします。

この状況になると中々厳しいです。多くの場合は「過去のしがらみ」が原因になっており、止まっちゃったから今急いで何とかしてよ、というわけにはいかない場合も多々あります。
そうならないように「予め想定しておく」ことが必要なのですが、その話題については後日改めて記したいと思います。

0 件のコメント: