ここMERCURYでは、毎月1億件のリクエストがサーバーを襲っており、これは毎日約300万件のリクエストに相当する。
でも、それは "簡単 "なことなんだ...。
私たちのクライアントがキャンペーンを実施したり、新製品を市場に投入したりする際には、課題が発生します。最近発売された新製品は、トラフィックが950%も急増しました!
何が起こったのかを正確に探り、このようなサージに簡単に対処できるよう、我々のインフラをどのようにセットアップしたかを説明しよう。
トラフィック急増の原因
当社の香港のクライアントは、世界有数のストリートファッション・ブランドの再販業者です。
NIKEとのコラボ商品を発表したときのクレイジーな様子はこちら。
バースト・トラフィック
午後4時に新製品が発表されると、1日で1万人以上のユーザーがアクセスした。
前売りイベントを含む24時間以内に、クライアントのウェブサイトはトラフィックが950%急増し、データベースへのリクエストも5000%増加した。言い換えれば、このサイトは1日で「通常」の10日分のトラフィックを消費し、そのほとんどがわずか3時間の間に分散したのである。
では、そのような急増に対応するために、どのようにインフラを整えればいいのだろうか?
私たちのプラットフォームは、クライアントごとに自己完結型の「セグメント」に分割され、動的に独立して増減できるようになっています。
ロードバランサーはすべての検索サーバーを追跡し、サーバー間のトラフィックをバランスさせ、問題が発生しているサーバーを回避します。この構成により、追加容量が必要になった場合、新しいサーバーを素早く簡単に追加することができます。
一日の終わりには、(平均して)2秒ごとに販売注文を出し、データベースへの同時アクセス数は800を超え、クライアントに代わって20,000人以上の顧客にサービスを提供しました。