본문 바로가기

MSA3

MSA (Microservice Architecture) MSA 란 ? Monolithic Architecture 의 경우, 애플리케이션이 구동되기 위한 UI , 비즈니스 레이어 등이 하나의 큰 덩어리로 같이 구성이 되는 것. MSA 의 경우, 애플리케이션의 각각의 서비스를 MicroService 라는 단위로 쪼개어서 나눈 것. 위의 간단한 예시를 통해, MSA 와 Monolithic Architecture 의 차이를 구별할 수 있다. API 를 통해 관리하고, 외부에서 호출하는 경우 Service 자체를 노출하는 것이 아닌 API Gateway 를 통해서 인증을 하고, API 정책을 가져갈 수 있도록 하고, 데이터베이스 또한 각각의 서비스가 고유의 데이터베이스를 가질 수 있도록 한다. 그렇다면 MSA 아키텍처는 왜 인기가 있을까 ? 1. 기존의 Monolit.. 2022. 6. 23.
Domain Driven Design Domain 이란 ? 유사한 업무의 집합 -> 비즈니스 도메인 어플리케이션은 비즈니스 도메인 별로 나누어 설계 및 개발 될 수 있다. 마이크로서비스 아키텍처와 연관지어서 자주 나오는 디자인이다. Domain Driven Design DDD(Domain Driven Design)는 커뮤니케이션 코스트를 최소화하고 , 변경사항이 생기는 경우 변화의 사이클을 작게 가져가는 장점이 있다. 도메인 전문가는 IT 용어를 잘 모르고 , 개발자는 도메인에 관련된 용어를 잘 모른다. 이를 하나의 방법을 통해 아이디어를 쉐어하면 훨씬 더 효율적으로 진행이 가능하다. DDD 를 가장 쉽게 할 수 있는 방법은 Event Storming 이다. 심플한 툴로 , 많은 사람이 모여서 가능하다. 큰 벽을 세워놓고 옆에는 스티커를 붙.. 2022. 1. 2.
Event Driven Architecture Event Driven Architecture 이벤트(Event) : 컴퓨터 회로를 구동시키기 위해 발생하는 일 , 시스템 내, 외부에서 주목할 만한 상태의 변화 Event Driven Architecture ( EDA ) : 이벤트를 기반으로 하는 아키텍쳐 설계 방식 등장 배경 EDA 가 등장한 배경에는 마이크로서비스 아키텍처(MSA)로 적용된 시스템의 단점을 보완하고 대책을 마련하기 위함이다. 마이크로서비스 아키텍처는 독립적으로 배포 및 확장 될 수 있는 서비스(Loosely Coupled)들을 조합하여 하나의 애플리케이션을 완성하는 아키텍처이다. 마이크로서비스를 적용하면 빠른 배포 주기와 장애 확산 차단, 대용량 분산환경 시스템 구축, 폴리그랏 프로그래밍 적용 등의 장점을 얻을 수 있으며, 현재 빠.. 2021. 12. 28.