アプリケーション構成(同期 加盟店 ➡ 決済機関)
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Slide 45
Slide 45 text
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
オンラインショッピングサイト
通販サイト、ゲーム、電子書籍、
チケット、不動産、その他
アプリケーション構成(同期 加盟店 ➡ 決済機関)
Slide 46
Slide 46 text
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
新 決済システム
アプリケーション構成(同期 加盟店 ➡ 決済機関)
Slide 47
Slide 47 text
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
決済機関システム
クレジット、コンビニ支払い、キャリア決済、
プリペイドカード、その他
アプリケーション構成(同期 加盟店 ➡ 決済機関)
Slide 48
Slide 48 text
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Appはマイクロサービスの構成です
べてPCF上に配置
アプリケーション構成(同期 加盟店 ➡ 決済機関)
Slide 49
Slide 49 text
API
Gateway
Service A
Service B
Service C
加盟店 A
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
すべてのAppは
Java/Spring Boot で実装
アプリケーション構成(同期 加盟店 ➡ 決済機関)
Slide 50
Slide 50 text
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
API Gateway
決済機関毎のビジネスロジックが実装さ
れているServiceへルーティング
アプリケーション構成(同期 加盟店 ➡ 決済機関)
Slide 51
Slide 51 text
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
アプリケーション構成(同期 加盟店 ➡ 決済機関)
Slide 52
Slide 52 text
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
加盟店や決済機関は当然、コントロール範囲外
アプリケーション構成(同期 加盟店 ➡ 決済機関)
Slide 53
Slide 53 text
Hystrix
API
Gateway
Service A
Service B
Service C
加盟店 A
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
システム間通信には Hystrix という
Circuit Breakerを導入
Hystrix
Hystrix
Hystrix
アプリケーション構成(同期 加盟店 ➡ 決済機関)
Slide 54
Slide 54 text
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Circuit Breakerがない状態で
決済機関Aで障害が発生した場合…
アプリケーション構成(同期 加盟店 ➡ 決済機関)
Slide 55
Slide 55 text
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
レスポンス遅延、タイムアウト
アプリケーション構成(同期 加盟店 ➡ 決済機関)
Slide 56
Slide 56 text
アプリケーション構成(同期 加盟店 ➡ 決済機関)
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Service A に障害が伝播
処理のブロック、スレッド枯渇
Slide 57
Slide 57 text
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
API Gateway に障害が伝播
処理のブロック、スレッド枯渇
アプリケーション構成(同期 加盟店 ➡ 決済機関)
Slide 58
Slide 58 text
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
アプリケーション構成(同期 加盟店 ➡ 決済機関)
API Gateway に障害が伝播
処理のブロック、スレッド枯渇
Slide 59
Slide 59 text
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
決済機関A起因の障害にも関わらず
関係のない決済機関BCへ影響が出てしまう
アプリケーション構成(同期 加盟店 ➡ 決済機関)
Slide 60
Slide 60 text
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
Hystrix
アプリケーション構成(同期 加盟店 ➡ 決済機関)
Circuit Breaker があれば
特定の決済機関で障害が発生しても
Slide 61
Slide 61 text
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
障害の伝播を防いでくれるため
他の決済機関への影響を及ぼす心配がない
アプリケーション構成(同期 加盟店 ➡ 決済機関)
Slide 62
Slide 62 text
API
Gateway
Service A
Service B
Service C
加盟店 X
加盟店 Y
加盟店 Z
決済機関 A
決済機関 B
決済機関 C
Hystrix
Hystrix
Hystrix
Circuit Brakerにより耐障害性に優
れたアプリケーションを実現
アプリケーション構成(同期 加盟店 ➡ 決済機関)