표제지
국문초록
목차
Ⅰ. 서론 11
1. 연구의 배경 및 목적 11
2. 연구 범위 및 구성 15
Ⅱ. 이론적 배경 16
1. 마이크로서비스 아키텍처 16
가. 마이크로서비스 16
나. 금융권의 마이크로서비스 도입 이력 및 현황 19
다. 마이크로서비스 아키텍처에서 분산 트랜잭션 처리 22
2. 분산 트랜잭션 처리 방법 26
가. Two Phase Commit 28
나. Saga Pattern 30
다. Axon Framework 33
Ⅲ. 분산 트랜잭션 방법 검증 35
1. 분산 트랜잭션 대상 서비스 개요 35
가. 이체 서비스 개요 35
나. Microservices Architecture Components 38
다. Spring Cloud 39
2. Two Phase Commit 구현 42
3. Saga Pattern 구현 46
가. Choreography Saga 46
나. Orchestration Saga 49
4. Axon Framework 54
5. 분산 트랜잭션 성능테스트 58
Ⅳ. 연구 결과 61
Ⅴ. 결론 및 향후 연구 63
참고문헌 65
Abstract 68
〈표-1〉 데이터 특성에 따른 데이터베이스 분류 24
〈표-2〉 계좌 테이블 정보 41
〈표-3〉 이체 테이블 정보 42
〈표-4〉 이체 거래 정상거래 처리의 흐름 (2 Phase Commit) 44
〈표-5〉 이체 거래 비정상거래 처리의 흐름 (2 Phase Commit) 45
〈표-6〉 2 Phase Commit 장단점 45
〈표-7〉 이체 거래 정상거래 처리의 흐름 (Choreography Saga) 47
〈표-8〉 이체 거래 비정상거래 처리의 흐름 (Choreography Saga) 48
〈표-9〉 Choreography Saga 장단점 49
〈표-10〉 이체 거래 정상거래 처리의 흐름 (Orchestration Saga) 51
〈표-11〉 이체 거래 비정상거래 처리의 흐름 (Orchestration Saga) 52
〈표-12〉 Orchestration Saga 장단점 53
〈표-13〉 이체 거래 정상거래 처리의 흐름 (Axon Framework) 55
〈표-14〉 이체 거래 비정상거래 처리의 흐름 (Axon Framework) 56
〈표-15〉 Axon Framework 장단점 57
〈표-16〉 성능테스트 테스트 장비 사양 58
〈표-17〉 이체거래 성능테스트 시나리오 59
〈표-18〉 분산 트랜잭션 별 처리시간 결과 59
〈표-19〉 분산 트랜잭션 별 주요 특징 61
〈그림-1〉 금융회사, 다양한 분야에 클라우드 컴퓨팅 이용 활발 12
〈그림-2〉 Cloud Service Models (IaaS, PaaS, SaaS) Diagram 13
〈그림-3〉 Monolithic Architecture vs. Microservices Architecture 16
〈그림-4〉 금융회사들의 클라우드 도입 계획 21
〈그림-5〉 글로벌 금융 기업의 클라우드 여정 사례 21
〈그림-6〉 Example implementation of polyglot persistence 26
〈그림-7〉 분산 트랜잭션의 문제점 27
〈그림-8〉 The 2 Phase Commit Protocol 28
〈그림-9〉 Choreography-Based Saga. 31
〈그림-10〉 Orchestration-Based Saga. 32
〈그림-11〉 CQRS 기반 Axon 어플리케이션의 아키텍처 개요 34
〈그림-12〉 오픈서베이 금융 트랜드 리포트 2022 35
〈그림-13〉 카카오뱅크 이체 시스템 Flow Chart 36
〈그림-14〉 이체 서비스 정상거래 모형 37
〈그림-15〉 이체 서비스 비정상거래 모형 37
〈그림-16〉 Microservices Architecture Components 39
〈그림-17〉 Spring Cloud architecture highlights 40
〈그림-18〉 이체거래 사례모형 Spring Cloud 적용 41
〈그림-19〉 계좌 테이블 정보 41
〈그림-20〉 이체 테이블 정보 42
〈그림-21〉 이체거래 사례모형 (2 Phase Commit) 43
〈그림-22〉 이체 거래 정상거래 처리의 흐름 (2 Phase Commit) 43
〈그림-23〉 이체 거래 비정상거래 처리의 흐름 (2 Phase Commit) 44
〈그림-24〉 이체거래 사례모형 (Choreography Saga) 46
〈그림-25〉 이체 거래 정상거래 처리의 흐름 (Choreography Saga) 47
〈그림-26〉 이체 거래 비정상거래 처리의 흐름 (Choreography Saga) 48
〈그림-27〉 이체거래 사례모형 (Orchestration Saga) 50
〈그림-28〉 이체 거래 정상거래 처리의 흐름 (Orchestration Saga) 50
〈그림-29〉 이체 거래 비정상거래 처리의 흐름 (Orchestration Saga) 52
〈그림-30〉 이체거래 사례모형 (Axon Framework) 54
〈그림-31〉 이체 거래 정상거래 처리의 흐름 (Axon Framework) 54
〈그림-32〉 이체 거래 비정상거래 처리의 흐름 (Axon Framework) 56
〈그림-33〉 이체거래 성능테스트 모형 59