ITmedia NEWS >
ニュース
» 2019年06月17日 08時00分 公開

PayPay“100億円祭”の裏側で何があったのか システム障害と苦闘したエンジニア (1/2)

PayPayで昨年12月に展開した「100億円あげちゃうキャンペーン」。その間、ユーザー数の増加に伴い、PayPayのシステムは不安定な状態に。押し寄せる膨大なアクセスに、PayPayのエンジニアはどのように対応したのか。

[片渕陽平,ITmedia]

 「ほぼ毎日、決済のトランザクション数が伸びていく状況だった」――モバイル決済サービス「PayPay」で昨年12月に展開した「100億円あげちゃうキャンペーン」(第1弾)について、PayPay社の山本啓介さん(プロダクト本部 テクノロジー1部 部長)はそう振り返る。

 同キャンペーンは還元率の高さから注目を集め、わずか10日間で還元総額が100億円に到達し、終了した。その間、PayPayのサービスを支えるシステムは、ユーザー数の増加に伴い、不安定な状態に。障害が相次ぎ、何回もの緊急メンテナンスを余儀なくされた。

photo

 押し寄せる膨大なアクセスに、PayPayのエンジニアはどのように対応したのか。山本さんが6月14日、イベント「AWS Summit Tokyo 2019」のセッションに登壇し、キャンペーンの舞台裏を語った。

photo 昨年12月の「100億円あげちゃうキャンペーン」期間中、決済トランザクションが急増

「予想よりもはるかに短い期間でキャンペーンが終了」

 PayPayは、昨年10月にローンチしたが、開発を始めたのは約3カ月前の7月だった。開発期間が短いことから、個々の機能を独立したサービスとして開発し、APIなどで連携して1つのアプリケーションにする「マイクロサービスアーキテクチャ」の手法を採用。インフラ構築の手間を短縮するため、Amazon Web Services(AWS)を利用した。ただ、顧客のクレジットカード情報などは、ヤフーのシステムに保存する形式を採った。

photo マイクロサービスアーキテクチャを採用する、コンテナオーケストレーションツール「Kubernetes」を使う、インフラをAWS上に構築する、といった方法を採った

 開発は急ピッチに進み、ローンチに間に合ったが、12月の「100億円あげちゃうキャンペーン」でトラブルに見舞われた。山本さんが「予想よりもはるかに短い期間でキャンペーンが終了した」というように、期間中はユーザー数が急増し、システムへのアクセスが殺到。障害が多発した。

photo

 山本さんは、システム障害の原因の1つに、外部決済システム(ヤフー)と連携するサービスのリソースが不十分だったことを挙げる。決済情報を参照するために「ヤフーのシステムにリクエストを送るようにしているが、(その部分の処理が)詰まってしまい、他の部分にも影響が出た」という。

photo

 また、加盟店に提供している決済管理ツール「PayPay for Business」でも問題が発生していた。PayPay for Businessは、加盟店側がPayPayの取引履歴や売上などをWebブラウザ上で確認できるツールだ。

 キャンペーン期間中、このツールが想定以上に利用され、「ヤフーのシステムに決済履歴を問い合わせる」といった負荷の高いクエリが高頻度で実行される事態に。取引データを扱う仕組みは、コンシューマーサイドでも使用しており、決済に影響が出たという。

photo

 山本さんらは、負荷を少なくするため、加盟店向けツールの機能を一時的に削除するといった応急処置を施した。管理画面(ダッシュボード)のオートリロードを停止した他、大量に決済が行われた店舗では、決済トランザクションの履歴をダウンロードする機能を一部制限した。

 ユーザー側のアプリ画面のデザインも急きょ変更。外部決済システムからクレジットカードなどの決済情報を参照する回数を少なくて済むようにしたという。

photo
       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.