ACL은 서로 다른 언어를 쓰는 두 시스템 사이를 통역해 주는 "통역사" 입니다!
업스트림 팀 : 기존에 이미 있던 레거시 모놀로식 시스템
다운스트림 팀 : 새로 만든 마이크로서비스
업스트림, 다운스트림은 같은 곳에 있지만 서로 다른 언어와 구조를 사용합니다.
업스트림(모놀로식)은 "직원"을 Employee라고 하고
다운스트림(마이크로서비스)은 "직원"을 Worker로 라고 하면
서로의 데이터를 이해하기 위한 통역사(ACL)이 필요합니다!
1️⃣ 데이터 수신 – 업스트림 시스템으로부터 데이터를 받습니다.
2️⃣ 데이터 변환 – ACL이 다운스트림에서 이해할 수 있도록 모델 변환을 수행합니다.
3️⃣ 데이터 활용 – 마이크로서비스는 자신의 모델을 유지한 채 외부 데이터를 안전하게 사용합니다.
업스트림 시스템 (기존 모놀리스)

다운스트림 시스템 (마이크로서비스)

통합된 ACL 구조

[출처: AWS Cloud Design Patterns]
🔗 AWS 공식 문서 ACL(Anti-Corruption Layer)
https://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/cloud-design-patterns/acl.html
🔗 AWS 구현 ACL
https://github.com/aws-samples/anti-corruption-layer-pattern