Findy Tools
開発ツールのレビューサイト

メルペイの決済基盤のアーキテクチャ

Xのツイートボタン
このエントリーをはてなブックマークに追加
Xのツイートボタン
このエントリーをはてなブックマークに追加

メルペイの決済基盤のアーキテクチャ

最終更新日 投稿日
メルペイの決済基盤のアーキテクチャのアーキテクチャ図

アーキテクチャの工夫ポイント

メルペイの決済基盤はメルカリの各事業を支えるための基盤になっています。
アーキテクチャとしては、マイクロサービスアーキテクチャを採用しています。
背景には主に2つあります。

  • 立ち上げ当初は、短期間でメルペイ・メルカリC2C向け機能を複数チームが並行開発する必要があり、各チームが自律的な開発・運用を可能にするアーキテクチャが求められた
  • Fintech向けの決済基盤でもあり、高可用性が求められて障害影響を局所化できる設計が必要

サービス分割では「ドメイン境界」を重視し、過剰な細分化を避けつつ4領域に整理しています。

  • 決済処理:メルペイ決済をはじめ、EC事業に必要な外部決済や法人向け請求書払いなど、さまざまな価値交換に対応する決済機能を提供
  • 台帳・帳簿管理:価値変動の追跡・残高管理
  • 外部決済機関接続:金融・決済機関APIの複雑性隠蔽
  • 精算:手数料計算・加盟店売上確定、自動出金機能

サービスを分けることによって発生する決済トランザクションの整合性を確保する課題について、ステートマシンワークフローを利用した分散型トランザクション管理の仕組み、またはサービス横断的なリコンサイル基盤を自社開発して対応しています。

現在のアーキテクチャの課題と今後の展望

事業拡大に伴い機能追加が加速し、一部ドメインが当初想定より複雑化してきました。単一チームの認知負荷が限界に近く、開発効率を維持するため、今後組織体制と合わせてドメイン再分割やドメイン境界の継続的な最適化を検討していきたいです。

現在、全事業向けに同一サービス群を共有する構成(Mutliple-tenant)になっているため、コアサービスの障害影響範囲が広域化する課題があります。今後事業側の規模と求められるサービスレベルに応じて、ドメインサービスを共通化したまま、事業専用の決済基盤(Single-tenant)の提供も検討していきたいと考えています。


◆執筆: Merpay Payment & Customer Platform Team、 Engineering Head 梁軍偉 @foghost


アーキテクチャを構成するツール

Datadog

監視・オブザーバビリティ

Datadog

Cloud Pub/Sub

インフラ

Cloud Pub/Sub

Cloud Spanner

データベース

Cloud Spanner

Google Kubernetes Engine

インフラ

Google Kubernetes Engine

会社情報

株式会社メルペイ

株式会社メルペイ

株式会社メルペイは、「信用を創造して、なめらかな社会を創る」をミッションに、スマホ決済サービス「メルペイ」をはじめ、後払い決済サービス「メルペイスマート払い」、クレジットカード「メルカード」を展開。決済・金融・シェアなどさまざまなお金にまつわるサービスに取り組んでいきます。