
125
3
장
모놀리스 분해
3.53.5
계층별 분해 계층별 분해
이제 추출할 첫 번째 마이크로서비스를 식별했다. 우리는 더 작은 단계로 세분화할 수 있다.
웹 기반의 서비스 스택에 대한 기존
3
계층을 고려하면 사용자 인터페이스, 백엔드 애플리케이
션 코드, 데이터 측면에서 추출하려는 기능을 볼 수 있다.
마이크로서비스에서 사용자 인터페이스로의 매핑은
1
:
1
이 아닌 경우가 많다 (이는
14
장에서
훨씬 더 깊이 탐구하는 주제다 ). 따라서 마이크로서비스와 관련된 사용자 인터페이스 기능을
추출하는 것은 별도의 단계로 간주될 수 있다. 여기서 방정식의 사용자 인터페이스 부분을 무
시하는 것에 대해서는 주의를 당부하고 싶다. 필자는 너무 많은 조직이 백엔드 기능의 분해를
통해 얻는 혜택에만 집중해 아키텍처를 재구성하는 데 지나치게 고립된 방식을 취하는 경우를
많이 봐왔다. 때로는
UI
분해에서 가장 큰 혜택을 얻을 수 있으므로 이를 무시하는 것은 위험
하다. 마이크로서비스가 제공되기 전까지는
UI
분해의 가능성을 확인하기 어려우므로
UI
분해
가 백엔드를 마이크로서비스로 분해하는 것보다 뒤처지는 경향이 있다.
그런 다음 백엔드 코드와 관련 스토리지를 살펴보면, 마이크로서비스를 추출할 때 둘 다 범
위 내에 있는 것이 매우 중요하다. 고객의 위시리스트 관리와 관련된 기능을 ...