합성 애플리케이션과 이벤트 처리

합성 애플리케이션과 이벤트 처리 An architecture diagram generated by Archify. api-gateway · Python / HTTP :8080 · Architecture component api-gateway Python / HTTP :8080 order-service · Python / HTTP :8080 · Architecture component order-service Python / HTTP :8080 payment-service · Python / Rollout :8080 · Architecture component payment-service Python / Rollout :8080 Aurora PostgreSQL · order/payment + transactional outbox · Architecture component Aurora PostgreSQL order/payment + transactional outbox SNS event topic · publish after DB commit · Architecture component SNS event topic publish after DB commit Notification SQS · separate queue + DLQ · Architecture component Notification SQS separate queue + DLQ Analytics SQS · separate queue + DLQ · Architecture component Analytics SQS separate queue + DLQ notification · dedup / synthetic result · Architecture component notification dedup / synthetic result analytics · independent dedup/result · Architecture component analytics independent dedup/result POST/GET orders POST payments SQL + outbox SQL + outbox fanout fanout consume consume publisher retries outbox Legend Frontend Backend Database Message bus

정확한 의미

  • • 주문과 outbox는 같은 DB transaction
  • • SNS publish/DB mark는 원자적이지 않음

합성 효과

  • • 두 소비자가 각각 event ID를 dedup
  • • 실제 카드 결제·이메일·SMS 없음