金融チームでエンジニアをしているimamuraです。freeeカード Unlimited の開発の裏側について紹介する連載の第2回目になります。freeeカード Unlimited がどのようなサービスなのかは第1回目の記事*1で紹介していますので、そちらをご覧ください。また、そこで紹介したように freeeカード Unlimited ではマイクロサービスアーキテクチャを採用しており、バックエンドのサービス間は主に非同期で通信しています。 freeeカード Unlimited の構成図 この記事では、サービス間の非同期通信をどのような観点で設計したのかを共有できればと思います。要約するとfreeeカード Unlimited では以下の対応を行いました。 メッセージが必ず送信できるようにOutbox Patternを利用して永続化する メッセージの受信の失敗のために再送可能なメッセージにする