非同期メッセージングサービスを使ったLINEメッセージ配信の改善 by 平井 一史

JJUG CCC 2022 Fall
採択
2022/11/27 15:25〜
Track D (#jjug_ccc_d)
Video:15min + Live:10min
Beginner Architecture Yes (YouTube)

非同期メッセージングサービスを使ったLINEメッセージ配信の改善

hkazushi0627 平井 一史 hkazushi0627
4

LINE STORE(https://store.line.me/)という、LINEの各デジタルアイテムを販売するWebアプリケーションを開発しています
LINE STOREでは、多くの場面でLINE STOREの公式アカウントからユーザにメッセージ配信を行っています。
たとえば、ユーザがスタンプ購入後の購入完了通知やボーナスクレジット付与通知などです。

このメッセージ配信処理を、同期処理からメッセージングマイクロサービスを使った非同期処理に移行し、課題を改善したことを共有したいと思います。
以下のような、よりソフトウェアアーキテクチャの視点で共有します。
・同期処理における課題
ex) メッセージAPI障害時に、メッセージの再送しづらい問題、メッセージAPIのレイトリミットへの対策
・非同期メッセージングサービスの説明と利点。移行するにあたって検討した事項
ex) メッセージAPI障害時の自動リトライ、レイトリミッターの適用、Webアプリケーションとメッセージングサービスのそれぞれの役割の決定
・非同期メッセージングサービスのテクノロジースタック
 ex) Apache Kafka、Decaton(LINEのOSS、Java Job Queue Library)、Spring MVC