blog法人カードのクラウド型発行・管理サービスpaild2024-02-01クリアリング処理を再構築したこんにちは。今回は外部サービスから連携されるクリアリングファイルを仕様書に沿ってパースし、内部サービスに取り込む処理を再構築したので紹介します。上記にこれまで稼動していたシステムの全体像を示します。これまでデータのパースと内部サービスのリクエストは全てWindowsサーバ上で動くバッチで実行されていました。Windowsサーバが外部サービスからクリアリングファイルを受け取りとバッチの実行をしており、以下のような問題点がありました。上記に完成したシステムの全体像を示します。インフラまわりの構成要素と役割は以下のとおりです。上記の構成に移行したことで以下のような効果がありました。バッチの実行場所がWindowsサーバからマネージドサービス群へEventBridgeやSQSを利用したイベント駆動な構成により処理全体が疎結合にSQSを利用したキューイングにより大量のデータを内部サービスに負荷をかけずに実行できるようにおまけインフラ構成の話ではないですが、、SQSからLambdaをキックするときに1つのLambdaイベントには複数のSQSメッセージが格納されます。(標準キューの場合は最大10,000、FIFOキューの場合は最大10)内部サービスにHTTPリクエストを送信するだけのLambdaアプリケーションのプログラムで、Lambdaイベントに含まれるSQSメッセージのうち1件目だけを処理するように書いてしまい、SQSから10メッセージが削除されるのにHTTPリクエストは1件しか飛ばないという事件を起こしてしまいました。event.record[0]などと書かないようにしましょう。3引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。