개요 MSA(Micro Service Architecture)를 적용한 프로젝트 내 각 모듈들은 확실히 분리되고 독립성을 가지는 것이 가장 중요합니다. 이 때문에 각 서비스들은 별도 독립된 DB를 가진 상태로 상호 간 API를 이용해 통신하는 케이스가 많습니다. 이런 구조는 모듈끼리 결합도가 강해지는 단점이 있는데 Event-Driven 아키텍처를 적용하면서 이벤트 생산자/소비자 간 결합도를 낮추는 장점을 취할 수 있습니다. 이번 게시글에서는 MSA 개념을 간단히 복습 후 Event-Driven 아키텍처의 장단점 및 해당 아키텍처를 적용한 Redis Streams를 다루겠습니다. MSA MSA는 아래의 특성을 가집니다. 시스템을 독립적인 단위의 작은 서비스들로 분리 각 서비스들은 별도 DB를 가지고 다..