モダン技術を活用したリアルタイム在庫連携システムのアーキテクチャとは
完成したシステムのアーキテクチャも紹介された。環境はAWS上に作成し、出前館でのナレッジがあるFargateを採用。その中でSpring BootでAPIを起動させている。
「今回作成した販売可否、在庫引当APIについては、出前館のサイトやアプリ側のシステムからリクエストを受け取るため、内部用のAPI環境であるInternal APIで動作させており、リクエストの受け取りと加盟店側のAPIを呼び出します」(三木氏)
品切れAPIについては、加盟店から直接リクエストを受け取るため、パブリックなAPIとして新たに構築。以下の図の赤枠部分である。
「新たに構築した理由としては、今後品切れのようなマスターを汎用的に操作できるAPIを構築していく計画があること。そして、既存のAPIと新たに作るAPIとの可用性を考慮し、既存のAPIと同じ環境とならない設計としました」(三木氏)
CI/CDにはGithub Actions、APIではBlue/Green Deploymentも採用している。
「日々の運用や調査ではNew Relicを活用しており、障害時の解析およびサービスレベルの監視などに役立てています。何か障害があった際のアラートに関しては、Slackも利用しています」(三木氏)