HIROKO-M / Test_002

0 stars 0 forks source link

【ランキング】報酬データが正しく反映されていない件に対する恒久対策 #180

Open HIROKO-M opened 2 weeks ago

HIROKO-M commented 2 weeks ago

AFFILIATE_FRIENDS-2055のランキング報酬データが正しく反映されない件についてですが、 一度対応させて頂きまして、本番環境でランキングデータが正常に反映されることも確認できるようになりました。 ただし、当時は原因特定できなく、応急処置として対応しましたため、根本的に事象を解消できておりません。

よって、弊社で引き続き調査を行い、事象発生の原因まで特定し、恒久対策をたて、下記のようにまとめさせて頂きました。 ご確認お願い致します。

事象

AFFILIATE_FRIENDS-2055 の通り、本番環境でランキングの報酬データが反映されない、または正しく反映されません。

発生原因

本件の発生原因は以下のように推測しております。 1.ASP側でアクセス制御が発生 一部のASPは連続的にアクセスのリクエストが叩くとアクセスをブロックする為、Celery workerがデータをクロールする際にIP制限による503エラーが発生してデータが取得できません。

2.Celery の古いバージョンで発生していた固有バグ(処理の強制終了) 現状のCeleryのバージョンが古いからです。現状のCeleryバージョンが2020年にリリースされた4.4.2のバージョンで固有バグが多い為、大量のタスクを処理する際にクラッシュ問題が発生してデータが取得できません。

一時対策

ランキングバッチを再実行することにより、一時的に問題解消できました。

※バッチ再実行をすると問題が解決した理由 同時に複数 Celery worker が稼働するため、偶発的にリクエスト数が跳ね上がり、ASP側にIP制限されます。Retryの時にIP制限がなくなりバッチが正常に実行されます。 Retry時にも1回ではデータを取得できない場合もあり、データを取得するためにその後もRetryを実行することもあります。(3回まで制限)

恒久対策

1.ASP側のアクセス制限問題の対策   アクセスIPをブロックする機能のあるASPに対して、   IPブロックを回避する為に各workerがデータを順次にクローリングするような構成を設定します。

2.Celeryの問題の対策:以下2パターンの対応方法を想定しております。  ■案①:Celeryのバージョンをアップグレード   ▽メリット:    ・サビースの追加費用が発生しない   ▽デメリット:    ・Celeryのライブラリの固有バグを修正する為にCeleryのライブラリと他のライブラリのバージョンをアップグレードする必要がある    ・タスク作成できなくてデータが不足なバグを修正する為にロジックを更新する必要がある    ・ウェーブサイトの負荷が増える    ・システム全体を再検証する必要がある

 ■案②:Celeryの代わりにLambdaを利用する   ▽メリット:    ・ウェブサイトの負荷が増えない    ・Celeryより安定的に稼働できる   ▽デメリット:    ・サービスの追加費用が発生(追加費用の詳細は後ほど確認・報告予定)     ※但し、Lambdaのサービス費用がCeleryより高い想定    ・Celeryからlambdaへの交換に工数がかかる     ※ランキング機能のコーディング・テスト工数   ▽Lambda利用に付き発生する費用の見積もり    下記添付にご参照お願い致します。    【AFFILIATE_FRIENDS-2066【ランキング】報酬データが正しく反映されていない件に対する恒久対策 - 追加発生費用.pdf】     https://fujitech.backlog.jp/ViewAttachmentPdf.action?attachmentId=24805766


以上ご報告させて頂きます。 恒久対策をどのパターンに実装するか、ご確認お願い致します。

HIROKO-M commented 2 weeks ago

@Kien Bui Hoang (Bee Tech - Comtor) @Toru Kaneko(Bee Tech) cc@Giang Nguyen Thi Kim (Bee Tech - Comtor) @Manh Pham Van (Bee Tech - Dev Manager) @Thao Do Thi Phuong (Bee Tech - QC Manager) @Vuong Do Quang (Bee Tech - Dev Manager) @君野 翼 お世話になります。 上記ご報告をいただきましてありがとうございます。 モニタリング期間中に問題発生しなかったとのこと、承知しました。

ご対応いただきましてありがとうございました。

HIROKO-M commented 2 weeks ago

@松田 寛子 cc @Toru Kaneko(Bee Tech) @Vuong Do Quang (Bee Tech - Dev Manager) お疲れ様です。

本件において、1ヶ月間本番環境にてモニタリング実施し、ランキングバッチに関する問題発生を確認しませんでした。 よって、本チケットをモニタリング完了として、終了とさせて頂きます。

どうぞよろしくお願い致します。

HIROKO-M commented 2 weeks ago

@Kien Bui Hoang (Bee Tech - Comtor) cc@Toru Kaneko(Bee Tech) @Giang Nguyen Thi Kim (Bee Tech - Comtor) @Manh Pham Van (Bee Tech - Dev Manager) @Thao Do Thi Phuong (Bee Tech - QC Manager) @Vuong Do Quang (Bee Tech - Dev Manager) @君野 翼

お世話になります。 反映スケジュールのご連絡ありがとうございます。 承知しました。

本日、どうぞよろしくお願いいたします。

HIROKO-M commented 2 weeks ago

@松田 寛子 cc @君野 翼 @Toru Kaneko(Bee Tech) @Vuong Do Quang (Bee Tech - Dev Manager) ご確認ありがとうございます。

本番環境への反映において 本件において、確認・準備いたします。

想定として明日 16:00~17:00 に反映作業を実施させて頂きます。 基本的にサーバーの停止がありません。

作業開始・終了にあったてまた追ってご連絡させて頂きます。

どうぞよろしくお願い致します。

HIROKO-M commented 2 weeks ago

@Kien Bui Hoang (Bee Tech - Comtor) cc @Toru Kaneko(Bee Tech) @Giang Nguyen Thi Kim (Bee Tech - Comtor) @Manh Pham Van (Bee Tech - Dev Manager) @Thao Do Thi Phuong (Bee Tech - QC Manager) @Vuong Do Quang (Bee Tech - Dev Manager) @君野 翼 お世話になります。 上記ご連絡をいただきましてありがとうございます。

本件において、ステージング環境でのモニタリングを社内で3/18から開始し、 昨日(3/25)まで特に問題を検知しませんでした。 ・バッチ実行時にエラーなし ・取得されたデータに不一致なし よって、本番環境まで反映させて頂きたく、ご連絡致しました。

承知いたしました。 詳細ありがとうございます!

どうぞよろしくお願いいたします。

HIROKO-M commented 2 weeks ago

@松田 寛子 @君野 翼 cc @Toru Kaneko(Bee Tech) @Vuong Do Quang (Bee Tech - Dev Manager) ご確認ありがとうございます。

本件において、ステージング環境でのモニタリングを社内で3/18から開始し、 昨日(3/25)まで特に問題を検知しませんでした。 ・バッチ実行時にエラーなし ・取得されたデータに不一致なし よって、本番環境まで反映させて頂きたく、ご連絡致しました。

本番環境へ反映することに問題ないとの旨承知致しました。 作業の準備に入らせて頂きます。

どうぞよろしくお願い致します。

HIROKO-M commented 2 weeks ago

@Kien Bui Hoang (Bee Tech - Comtor) cc @Toru Kaneko(Bee Tech) @Giang Nguyen Thi Kim (Bee Tech - Comtor) @Manh Pham Van (Bee Tech - Dev Manager) @Thao Do Thi Phuong (Bee Tech - QC Manager) @Vuong Do Quang (Bee Tech - Dev Manager) @君野 翼 お世話になります。 別途チャットで以下コメントをいただきました。

Stg環境モニタリング完了、特に問題ありません。   こちらの件を本番環境へ反映させて頂きたいと思いますが、よろしいでしょうか?

ご連絡いただいていた予定では、明日までモニタリングする予定だったかと思いますが問題なしという判断でしょうか? 本番環境でも1ヶ月程度のモニタリングを予定いただいておりますので、特に懸念点がないということであれば 本番環境へ反映いただいたくことに問題ございません。 引き続き、本番環境でモニタリングをお願いしたいと存じます。

どうぞよろしくお願いいたします。

HIROKO-M commented 2 weeks ago

@Kien Bui Hoang (Bee Tech - Comtor) お世話になります。 上記承知いたしました。

引き続きよろしくお願いいたします。

HIROKO-M commented 2 weeks ago

こちらでもご連絡させて頂きましたが、 AFFILIATE_FRIENDS-2068 の影響で本件の対応スケジュールに影響が発生し、下記のように調整させて頂いておりますので、こちらでもメモを残させて頂きます。

・2024/03/20 開発完了、STG環境反映 ・2024/03/27 STG環境モニタリング終了(1週間予定) ・2024/03/28以降、1ヶ月程本番環境でモニタリングの予定

HIROKO-M commented 2 weeks ago

@松田 寛子 @君野 翼 cc @Toru Kaneko(Bee Tech) @Teruaki Iwane (Bee Tech - Promo Manager) @Manh Pham Van (Bee Tech - Dev Manager) @Thao Do Thi Phuong (Bee Tech - QC Manager) @Giang Nguyen Thi Kim (Bee Tech - Comtor) @Vuong Do Quang (Bee Tech - Dev Manager) 上記のご確認ありがとうございます。

社内確認した際、3/1での反映が可能であることを分かりました。 よって、本件の本番環境反映を一旦3/1にさせて頂きます。

どうぞよろしくお願い致します。

HIROKO-M commented 2 weeks ago

@Kien Bui Hoang (Bee Tech - Comtor) cc @Toru Kaneko(Bee Tech) @Giang Nguyen Thi Kim (Bee Tech - Comtor) @Manh Pham Van (Bee Tech - Dev Manager) @Teruaki Iwane (Bee Tech - Promo Manager) @Thao Do Thi Phuong (Bee Tech - QC Manager) @Vuong Do Quang (Bee Tech - Dev Manager) @君野 翼

上記ご回答をありがとうございます。 コード反映時またはその後において、サービス稼働やデータ参照に影響がないということであれば 特に日時を気にすることはないと思いました。

3/1に可能なのであれば、3/1での反映をお願いいたします。

どうぞよろしくお願いします。

HIROKO-M commented 2 weeks ago

@松田 寛子 cc @君野 翼 @Toru Kaneko(Bee Tech) @Teruaki Iwane (Bee Tech - Promo Manager) @Manh Pham Van (Bee Tech - Dev Manager) @Thao Do Thi Phuong (Bee Tech - QC Manager) @Giang Nguyen Thi Kim (Bee Tech - Comtor) @Vuong Do Quang (Bee Tech - Dev Manager) お待たせいたしました。

上記質問についてご回答させて頂きます。

この反映に伴い、サービスの一時停止があるようであれば日時の指定を行いたいと思いますが ランキングや報酬発生通知含め、アフィリエイトフレンズサイトにおける影響はありますでしょうか?

作業内容は主にシステム外Lambdaの設定になるため、 本番環境に反映する際、アフィリエイトフレンズサイト(ランキング、報酬発生通知機能を含む)のサービス停止が必要ありません。

本恒久対策を実施しても、ユーザーはコード反映前の過去データを引き続きユーザーサイト上で問題なく見ることができるという認識でおりますが問題ないでしょうか?

その通りでございます。 ランキングデータが取得後、データベースに保存するため、 本恒久対策の反映後も過去データが影響を受けなく、ユーザーサイトで問題なく確認できます。

以上、ご質問に回答させて頂きます。 ご確認のほどよろしくお願い致します。

HIROKO-M commented 2 weeks ago

@Kien Bui Hoang (Bee Tech - Comtor) cc @Toru Kaneko(Bee Tech) @Giang Nguyen Thi Kim (Bee Tech - Comtor) @Manh Pham Van (Bee Tech - Dev Manager) @Teruaki Iwane (Bee Tech - Promo Manager) @Thao Do Thi Phuong (Bee Tech - QC Manager) @Vuong Do Quang (Bee Tech - Dev Manager) @君野 翼 お世話になります。 ご連絡ありがとうございます。

3/1 以降修正されたソースコードを本番環境に反映する予定と書いてありますが、 本番環境への反映について、特にご希望の日付などありますでしょうか?

質問に質問で返すようで申し訳ありませんが、上記を決定するにあたり2点教えてください。

この反映に伴い、サービスの一時停止があるようであれば日時の指定を行いたいと思いますが ランキングや報酬発生通知含め、アフィリエイトフレンズサイトにおける影響はありますでしょうか?

また、本恒久対策を実施しても、ユーザーはコード反映前の過去データを引き続きユーザーサイト上で問題なく見ることができるという認識でおりますが問題ないでしょうか?

どうぞよろしくお願いいたします。

HIROKO-M commented 2 weeks ago

@松田 寛子 @君野 翼 cc @Toru Kaneko(Bee Tech) @Thao Do Thi Phuong (Bee Tech - QC Manager) @Manh Pham Van (Bee Tech - Dev Manager) @Giang Nguyen Thi Kim (Bee Tech - Comtor) @Vuong Do Quang (Bee Tech - Dev Manager) お世話になっております。

上記ランキング問題の件について、 もう1点確認させて頂きたいことがあります。

報告致しましたスケジュールでは 3/1 以降修正されたソースコードを本番環境に反映する予定と書いてありますが、 本番環境への反映について、特にご希望の日付などありますでしょうか?

ご迷惑をおかけしますが、 ご確認のほどよろしくお願い致します。

HIROKO-M commented 2 weeks ago

コメントなし

HIROKO-M commented 2 weeks ago

@松田 寛子 @君野 翼 cc @Toru Kaneko(Bee Tech) @Manh Pham Van (Bee Tech - Dev Manager) @Thao Do Thi Phuong (Bee Tech - QC Manager) @Vuong Do Quang (Bee Tech - Dev Manager) @Giang Nguyen Thi Kim (Bee Tech - Comtor)

お世話になっております。

本件の作業について、社内で再検討させて頂きました。 お手数をお掛け致しますが、ご確認の程、ご承認をお願い致します。

1. スケジュールと進め方

以下、現時点の予定でございます。

2024/02/23 開発完了、STG環境反映予定
2024/03/01 STG環境モニタリング終了(1週間予定)
2024/03/01以降のご希望日に本番環境へ反映、1ヶ月程モニタリング予定

・本番環境へ修正ソースコードを反映
・Lambdaの設定
・Celeryの無効化

本番環境へ反映から3ヶ月程の様子見後、問題なければCeleryの設定削除を行う予定

※問題検知した場合、元の状態へ戻す予定です。 ※開発期間にLambdaを利用するため、費用が発生致します。  詳細を添付PDFに記載してありますので、改めてご確認のほど、よろしくお願い致します。

2. STG環境のモニタリング

本事象は、本番環境で再現が難しく、STG環境で再現・発生する可能性が低いことがございます。

STG環境は実装確認として、1週間程度のモニタリング(反映と動作確認)を行います。 Lambda実装は費用が発生するため、STG環境はモニタリング期間のみ適用し、確認後は設定を無効にすることを考えております。

※STG環境の動作確認で費用が発生致します。  上記の開発期間と同様、添付PDFにてご確認お願い致します。

3. 対応期間

テト(旧正月)直前と言うこともあり、テト後に開発とSTG環境へ反映、確認の後に本番環境へ適用とモニタリングすることで、出来る限り対応がすぐに出来るようにしたいと思います。

4. 本件対応について

なお、本作業で事象の解消を目指しておりますが、再現性が難しく、完全な恒久対応とならない場合がございます。 引き続き、改善策があるか、弊社内も検討を継続させて頂きますので、何卒ご理解の程、よろしくお願い致します。

ご迷惑をおかけしていますこと重ねてお詫び申し上げます。 ご意見やご希望があれば、ご教示の程、よろしくお願い致します。

HIROKO-M commented 2 weeks ago

@Kien Bui Hoang (Bee Tech - Comtor) cc @Toru Kaneko(Bee Tech) @Giang Nguyen Thi Kim (Bee Tech - Comtor) @Manh Pham Van (Bee Tech - Dev Manager) @Teruaki Iwane (Bee Tech - Promo Manager) @Thao Do Thi Phuong (Bee Tech - QC Manager) @Vuong Do Quang (Bee Tech - Dev Manager) @君野 翼

お世話になります。 上記ご報告をいただきましてありがとうございます。 承知しました。 詳細は23日にご連絡お待ち申し上げます。

どうぞよろしくお願いいたします。

HIROKO-M commented 2 weeks ago

@松田 寛子 @君野 翼 cc @Toru Kaneko(Bee Tech) @Manh Pham Van (Bee Tech - Dev Manager) @Thao Do Thi Phuong (Bee Tech - QC Manager) @Vuong Do Quang (Bee Tech - Dev Manager) @Giang Nguyen Thi Kim (Bee Tech - Comtor) お世話になっております。

本日まで連絡が遅くなり大変申し訳ございません。 本件の作業を1/17に開始するとご連絡させていただきましたが 実施始まったところで、こちらの準備にまだ不備があることを検知しました。

以下のように検討させていただけます。 スケジュール・実施方法・追加費用の発生などの準備がまだ不足、不備があり、 本番環境に関わる問題なのでリスクが高いため、作業を一旦中止し、社内で再度調査・検討させていただきます。 1月23日(来週の火曜日)に方法を報告させて頂きたいと思いますが、よろしいでしょうか。

ご迷惑をおかけしていますこと重ねてお詫び申し上げます。 どうぞよろしくお願いいたします。

HIROKO-M commented 2 weeks ago

@Kien Bui Hoang (Bee Tech - Comtor) cc @Toru Kaneko(Bee Tech) @Giang Nguyen Thi Kim (Bee Tech - Comtor) @Manh Pham Van (Bee Tech - Dev Manager) @Teruaki Iwane (Bee Tech - Promo Manager) @Thao Do Thi Phuong (Bee Tech - QC Manager) @Vuong Do Quang (Bee Tech - Dev Manager) @君野 翼

お世話になります。 上記スケジュールのご連絡をいただきましてありがとうございます。

日程承知いたしました。 引き続きよろしくお願いいたします。

HIROKO-M commented 2 weeks ago

@松田 寛子 @君野 翼 cc @Toru Kaneko(Bee Tech) @Teruaki Iwane (Bee Tech - Promo Manager) @Manh Pham Van (Bee Tech - Dev Manager) @Thao Do Thi Phuong (Bee Tech - QC Manager) @Giang Nguyen Thi Kim (Bee Tech - Comtor) お世話になっております。

本件の対応スケジュールを調整できました。 ▼対応スケジュール(Stg環境まで)
・開始日予定日:1/17 ・対応完了予定日:2/6 ・Stg環境で対応完了後、本番環境まで反映する前に1ヶ月ほどモニタリングの予定  モニタリング期間:2/6~3/6

また、対応工数見積もり・スケジュールの詳細について、下記添付のPDFにまとめさせて頂いております。 AFFILIATE_FRIENDS-2066【ランキング】報酬データが正しく反映されていない件に対する恒久対策 - 対応見積もり.pdf https://fujitech.backlog.jp/ViewAttachmentPdf.action?attachmentId=24859614

以上、ご報告させて頂きます。 どうぞよろしくお願い致します。

HIROKO-M commented 2 weeks ago

@Kien Bui Hoang (Bee Tech - Comtor) cc @Toru Kaneko(Bee Tech) @Giang Nguyen Thi Kim (Bee Tech - Comtor) @Manh Pham Van (Bee Tech - Dev Manager) @Teruaki Iwane (Bee Tech - Promo Manager) @Thao Do Thi Phuong (Bee Tech - QC Manager) @Vuong Do Quang (Bee Tech - Dev Manager) @君野 翼 お世話になります。

Lambdaの実行による追加費用と実行時間の詳細をご連絡をいただきましてありがとうございます。 いただきました内容を基に、社内で検討しまして 先にご提案いただいた案②(Celeryの代わりにLambdaを利用する)で対応をお願いできればと存じます。

対応スケジュール等が分かりましたら、ご連絡いただけますようお願いいたします。

引き続き、どうぞよろしくお願い申し上げます。

HIROKO-M commented 2 weeks ago

コメントなし

HIROKO-M commented 2 weeks ago

@松田 寛子 @君野 翼 cc @Toru Kaneko(Bee Tech) @Teruaki Iwane (Bee Tech - Promo Manager) @Thao Do Thi Phuong (Bee Tech - QC Manager) @Giang Nguyen Thi Kim (Bee Tech - Comtor) お世話になっております。

金子さんからご連絡させて頂きましたように、 Lambda利用で発生する別費用について、下記添付にまとめさせて頂きました。 こちらをご確認頂ければと思います。 【AFFILIATE_FRIENDS-2066【ランキング】報酬データが正しく反映されていない件に対する恒久対策 - 追加発生費用.pdf】  https://fujitech.backlog.jp/ViewAttachmentPdf.action?attachmentId=24805766

また、上記確認事項について、

Lambdaの実行時間は15分で収まるような軽めの処理が推奨されているかと思いますが Celeryの代わりにLambdaを利用した場合に、15分以内で処理が完了するという想定でしょうか?

Lambdaの実行時間は15分で収まる認識で合っております。 ただし、全データを15分で処理することが難しいと想定しておりますので、複数のLambdaで分けて処理する予定です。 複数のLambdaに分けることにより、15分の制限で処理強制終了を回避できる想定になります。

以上、ご報告させて頂きます。 ご確認のほどよろしくお願い致します。

HIROKO-M commented 2 weeks ago

@松田 寛子 さん @Kien Bui Hoang (Bee Tech - Comtor) @Giang Nguyen Thi Kim (Bee Tech - Comtor) @Thao Do Thi Phuong (Bee Tech - QC Manager) いつもお世話になっております。 後ほど工数見積は提出させて頂きます。

本件の弊社作業分は保守範囲内として、追加費用なしで対応させて頂く意向です。 弊社対応範囲以外(Lambdaや他必要な費用)は別途必要となりますので、ご留意下さいませ。

何か御座いましたら、ご遠慮なくお申し付け下さいませ。 引き続き何卒宜しくお願い致します。

HIROKO-M commented 2 weeks ago

@Kien Bui Hoang (Bee Tech - Comtor) cc @Giang Nguyen Thi Kim (Bee Tech - Comtor) @Manh Pham Van (Bee Tech - Dev Manager) @Thao Do Thi Phuong (Bee Tech - QC Manager) @Toru Kaneko(Bee Tech) @Vuong Do Quang (Bee Tech - Dev Manager) @君野 翼 お世話になります。

案②について、追加で質問がございます。

Lambdaの実行時間は15分で収まるような軽めの処理が推奨されているかと思いますが Celeryの代わりにLambdaを利用した場合に、15分以内で処理が完了するという想定でしょうか?

対応工数および追加費用と合わせて、ご回答いただけますようよろしくお願いいたします。

HIROKO-M commented 2 weeks ago

@松田 寛子 cc @君野 翼 @Toru Kaneko(Bee Tech) @Manh Pham Van (Bee Tech - Dev Manager) @Thao Do Thi Phuong (Bee Tech - QC Manager) @Giang Nguyen Thi Kim (Bee Tech - Comtor) @Vuong Do Quang (Bee Tech - Dev Manager) 承知致しました。 各対応案の工数・追加費用について、開発者と確認中のため、 分かり次第こちらでご報告させて頂きます。

HIROKO-M commented 2 weeks ago

@Kien Bui Hoang (Bee Tech - Comtor) cc @Giang Nguyen Thi Kim (Bee Tech - Comtor) @Manh Pham Van (Bee Tech - Dev Manager) @Thao Do Thi Phuong (Bee Tech - QC Manager) @Toru Kaneko(Bee Tech) @Vuong Do Quang (Bee Tech - Dev Manager) @君野 翼

お世話になります。 上記ご報告をいただきましてありがとうございます。

Celeryの問題の対策については、今後安定的に稼働するのならば案②が良いように思いますが 対応工数と追加費用を確認した上での判断とさせていただければと存じます。

案①の場合にも 再検証するにあたり工数がかかってくると思います。 また、その他かかってくる工数についてもざっくりで結構ですので分かれば教えていただきたいです。

案②の場合 サービスの追加費用 Celeryからlambdaへの交換にかかる工数について概算をご提示いただけますと助かります。

お手数ですが、どうぞよろしくお願いいたします。

HIROKO-M commented 2 weeks ago

コメントなし