본문 바로가기

Infrastructure/Microservice

(3)
[MSA] DOMA 구현 DOMA - 구현 이전 장에서는 우버에서 MSA(Microservice Architecture)를 도입하면서 겪었던 문제를 알아보고 이러한 문제를 해결하기 위해 새롭게 등장한 개념인 DOMA(Domain-Oriented Microservice Architecture)에 대해서 알아보았다. 이번 장에서는 DOMA의 구성요소에 대해서 자세하게 알아보고 우버가 어떠한 방식으로 DOMA를 구현하였는지에 대해서 알아본다. 도메인(Domain) 처음 도메인을 설계하게 되면 하나의 도메인에는 몇개의 마이크로서비스가 포함되어야 하는지에 대한 의문이 생길 수 있다. 우버에서 작성한 문서에서도 이러한 질문에는 답변을 해주지 않으며 그 이유는 도메인의 성격에 따라 수십개의 서비스가 포함될 수 있고 극히 작은 도메인은 하나의..
[MSA] DOMA 개념 DOMA - 이론 이번 장에서는 Uber(이하 우버)의 DOMA(Domain-Oriented Microservice Architecture, 도메인 지향 마이크로서비스 아키텍처)에 대해서 알아보도록 한다. 2010년대에 들어서 독립 배포의 형태의 유연성, 명확한 소유권, 시스템 안정성 개선등 과 같은 MSA(Microservice Architecture)의 장점 때문에 수많은 기업들이 MSA(Microservice Architecture)를 도입하기 시작하였다. 하지만 얼마 지나지 않아 서비스의 복잡도가 증가하여 오히려 사소한 기능도 개발하기 힘들어진다는 등 여러 MSA의 단점을 가지고 비판하기 시작하였다. 우버는 이러한 MSA의 형태를 유지하면서 단점인 복잡성을 줄이기 위해서 새로운 개념인 DOMA를 ..
[MSA] Communication Communication MSA(Micro Service Architecture)에서 서비스와 프로세스 간 커뮤니케이션 방법에 대해서 알아본다. 전통적인 SOA(Service Oriented Architecture)에서 서비스 간 커뮤니케이션은 ESB(Enterprise Service Bus)로 알려져 있는 센트럴 런타임를 통해 구현되었으며 통신을 위한 로직이 비즈니스 로직의 중간 레이어에 존재한다. 반면 MSA는 ESB(중앙 메시지 버스)를 제거하고 다른 서비스를 호출하기 위해 필요한 비즈니스 로직 및 네트워크 통신 로직은 마이크로서비스의 일부분으로써 실행된다. 서비스 간 통신 MSA는 서비스 간 통신을 위해서 크게 액티브 컴포지션과 리액트 컴포지션 스타일이 있으며 둘을 혼합하여 사용하는 하이브리드 컴..