2006年に入り、このブログでもご紹介したように1月、北京の大手ファッションメディア「精品購物」との共同セールプロモーションによる、「歳末大売出しセール」を実施しました。


その際に採用したのは、既に「精品購物」が自社サイトでも何度か実施している「タイムセール」方式によりセール期間中の決まった時間に特定の商品が限定で割引されるというものでした。


当然、その決まった時間内のアクセスが急激に増加するわけです。


「精品購物」との提携契約の中にも当然、その期間中にシステムが落ちないことを条件として盛り込まれており、当社の上海現地法人でこのプロジェクトのリーダーだったPeterからもシステムについて「かなり不安なんだけど、大丈夫だろうか?」という相談を受けていました。


実際、どのくらいのアクセスまで耐えられるのか?


正直、不安要素を残したままプロジェクトを開始したのでした。


ただ、やみくもにアクセスできるのも問題だし、このセールではかなりの格安商品を用意したのでセール自体への参加を「有料登録制」(つまり、セールに参加するには携帯電話からショートメッセージを送信して10RMBのコストで登録する)にすることで、無駄なアクセスを省く+この登録料による収益がどの程度見込めるか?というテストマーケティングも含めた施策を打ったのでした。


セール初日は無事に用意していた製品もほぼ完売し、順調なすべり出しをしたかに思えていました。


しかし、問題は初日から起こっていたのでした。。。


ある、セールへの参加者から問い合わせがあり


「セールの開始時間よりも前にセールで買い物が出来ているのではないか?」


ということで、調べてみるとセール自体が時間を限定しているためサイトにアクセスするとそのときの時間が表示されるのですが、


な、なんと、その表示される時間はサーバの時間ではなく、見ているクライアント(つまりPC)の時間だったのです・・・


なので、僕などはPCの時間自体いつも日本時間で設定しているので中国よりも1時間進んでいるわけですが僕のPCからアクセスすると、表示される時間も1時間早いわけです。


ですから、たまたまPCに設定されている時間が早かった場合には実際には他の人よりも早くセールに参加して買い物することが出来た・・・わけです。


このあたりは、中国で技術者に何かを指示する際に気をつけるべき重要なポイントだと思いますが、


「タイムセール用に時間表示させて、セール開始時間になったら購入できるようにする。」


という指示をした場合に技術者の立場からすると、上に書いてあることが実現されれば良いわけです。


つまり、タイムセールというもの自体のあり方、参加する人たち全員に平等であるべき(そのためにも時間を表示させているわけですが・・・)という概念は関係なく、言われたことをなるべく楽に手を掛けずにやる。


これが、傾向的にありがちだと思います。(というか、少なくともうちがお願いしていた開発先はそうでした。)


このセールに関しては、その後も2日目の夜にサーバがダウン(上海聯都によると、データセンター側の問題であり、確かにこのときDOSアタックを受けたためにデータセンターのルートサーバーがダウンしたとか。。。)


しかも、データセンター側が復旧したにもかかわらずUCモールのサイトのみが見えない状態であり、その際にも原因を聞くと、


「動的ページだからだ!」


というわけの分からない回答をしてくる。。。ようするに、アプリが壊れたんでしょ?


このような状況の中、今回のサーバ移転を決断した出来事が発覚した。


このセール期間中に、なぜか購入者名が空白のオーダーが目に付いたのである。

(当然、配送先情報には名前も住所もあるが、厳密にはこれが購入者かどうか区別はつかない。)


この件に関し、Peterに確認を取ると意外な事実が発覚したのでした。。。


そ、それは。。。な、なんとUCモールで購入する際の会員でもあり、また上海聯都が展開する各種サービスの会員でもある、「UCクラブ」の会員制度が勝手にルールが変更されていて、それまでVIP会員だった人が気がついたら初級会員になっていたりと、もうめちゃくちゃな状態になっているのでした。


「あ、あかんわ・・・」


この瞬間に僕はこれまで彼らと共通にもっていたDBを完全に分けることを決断したのでした。


~ 後編に続く ~