mirror of
https://github.com/tiennm99/java-design-patterns.git
synced 2026-05-14 18:58:44 +00:00
95203520bc
Co-authored-by: 권용환/서버파트/BF <yonghwan.kwon@nhn.com> Co-authored-by: Ilkka Seppälä <iluwatar@users.noreply.github.com>
title, category, language, tag
| title | category | language | tag | |
|---|---|---|---|---|
| Event Driven Architecture | Architectural | ko |
|
의도
이벤트 드리븐 아키텍처를 사용하는 다른 어플리케이션에 특정 객체의 상태 변화를 알리고 관련 이벤트를 발송할 수 있습니다.
클래스 다이어그램
적용 가능성
아래와 같은 상황에서 이벤트 드리븐 아키텍처를 사용할 수 있습니다.
- 느슨하게 연결된 시스템을 구축하고자 하는 경우
- 반응형 시스템을 구축하고자 하는 경우
- 확장성을 갖춘 시스템을 구축하고자 하는 경우
실제 적용 사례
- Chargify라는 결제 API에서는 다양한 이벤트를 통해 결제 활동을 드러냅니다. (https://docs.chargify.com/api-events)
- Amazon의 AWS Lambda에서는 Amazon S3 버킷에서의 변경, Amazon DynamoDB 테이블에서의 수정이나 어플리케이션 및 기기에서 발생한 커스텀 이벤트에 대응하여 코드를 실행할 수 있습니다. (https://aws.amazon.com/lambda)
- MySQL은 데이터베이스 테이블에서 발생하는 삽입이나 수정 이벤트를 기반으로 트리거를 실행합니다.
