障害を局所化せよ!決済システムを堅牢にする「セルベース・アーキテクチャ」の極意
Cell-based architecture for resilient payment systems
Cell-based architecture for resilient payment systems
大規模な決済システムにおいて、単一の障害が全体をダウンさせるリスクを排除するためには、セルベース・アーキテクチャが極めて有効です。この手法では、システムを独立した小さな単位(セル)に分割することで、特定のセルで障害が発生しても他のセルへ影響を拡散させず、サービスの可用性を最大化します。分散システムにおける耐障害性を高め、ミッションクリティカルな環境を構築したいエンジニアにとって、今押さえておくべき必須のデザインパターンと言えるでしょう。
メインフレームのデプロイと比べると、この手のものはいつもめちゃくちゃだな。
どうやって永続性を担保してるんだろ。セルがダウンしたときに、完了済みの支払いがロールバックされる可能性ってないのかな。それともセルベースじゃないデータベースに依存してるのか?
Redditでも指摘されてたけど、これ別に目新しいものじゃないよな。
American Expressの技術は大手の中でも世界最悪レベル。この会社の価値ってブランドだけだし。モバイルアプリやウェブサイトには多少手を入れてるけど、それ以外はただの張りぼてだよ。
Amexなんて誰も決済に使わないから、システムに高負荷なんてかかるわけないよ。
…っていうのは冗談!
考え方はかなりいいと思うよ。パーティションや障害による決済失敗はそれほど多くないはずだし、決済後の照合や返金プロセスがあるから、正確性より可用性を優先できるんだろうね。
ただ一つ不安定に見えたのは、どのセルが特定の決済を処理できるかという「グローバル・トランザクション・ルーター」の認識状態と、「フェイルオーバー・データ」の非同期配信との兼ね合いだね。正しくルーティングするにはこの情報が必要だと思うんだけど、これだとルーティング状態の更新が遅れて、間違ったセルに飛ばしちゃう時間枠が生まれるんじゃないかな。
それに、グローバル・トランザクション・ルーター自体のHA(高可用性)構成についても書かれてないしね。
まあそれでも、設計自体は結構好きかな。
ああ、あの旅行代理店をやってる金融サービス会社か。ホテルやレンタカーを数週間前に予約させて、チェックイン時にホテルと車の両方で付帯費用の仮押さえをしておきながら、同じホテルの晩飯を食おうとすると不正検知でカードを止めてくるっていう。先週なんて、会員資格を復活させるために自分の顔写真をいろんな角度から撮らされたよ。あれの一部はPalantirのデータ収集で、残りはPeter Thielの出会い系サービスじゃないかと疑ってる。
バックアップ取るのが地獄になりそう。
レジリエンスについてのウェブページに接続できないとか、ちょっと不安になるな。
「グローバル・トランザクション・ルーター」という名の巨大な単一障害点(SPOF)にしか見えないんだけど。
403 Forbiddenなんだけど。
タイトルからしてテロリストのネットワークとかハワラみたいな、分散型ネットワークでの決済の話かと思ってたよ。(他のコメントから察するに)Amexが複数の独立したシステムを使ってるって話じゃなかったんだな。