

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 트랜잭션별 분해
<a name="decompose-transactions"></a>

분산 시스템에서 애플리케이션은 일반적으로 하나의 비즈니스 트랜잭션을 완료하기 위해 여러 마이크로서비스를 호출해야 합니다. 지연 문제나 2단계 커밋 문제를 방지하려면 트랜잭션을 기반으로 마이크로서비스를 그룹화할 수 있습니다. 이 패턴은 사용자가 응답 시간을 중요하게 생각하고, 모듈을 패키징한 후 서로 다른 모듈이 모놀리스를 생성하지 않는 경우에 적합합니다. 다음 표는 이 패턴 사용의 장단점을 설명합니다.


****  

| 장점 | 단점 | 
| --- | --- | 
|  [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/modernization-decomposing-monoliths/decompose-transactions.html) |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/modernization-decomposing-monoliths/decompose-transactions.html)  | 

다음 그림에서 보험 모놀리스는 트랜잭션을 기반으로 여러 마이크로서비스로 분류됩니다.

![트랜잭션별 모놀리스 분해](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/modernization-decomposing-monoliths/images/decompose-by-transaction.png)


보험 시스템에서는 일반적으로 청구 요청이 제출된 후 고객에게 태그가 지정됩니다. 즉, *고객* 마이크로서비스 없이는 청구 서비스가 존재할 수 없습니다. *영업*과 *고객*은 하나의 마이크로서비스 패키지로 패키징되며, 비즈니스 트랜잭션에는 두 마이크로서비스 패키지와의 조정이 필요합니다.