MSA

결제 유스케이스 트랜잭션 범위 분석 대표적으로 결제 유스케이스를 통해 트랜잭션의 범위를 분석해 보자.먼저 결제 퍼사드의 비즈니스 로직은 아래와 같다고 가정하자. 위 비즈니스 로직은 크게 두 가지의 문제점이 있다. 긴 트랜잭션 범위-> 외부 API가 현 트랜잭션에서 호출된다면, 이로 인한 지연이 있다. 비즈니스 로직에 영향을 주는 외부 API일 경우에는 지연시간이 불가피하지만, 타 플랫폼에 적재하는 사용이력이거나 알림전송 같은 외부API로 변경 또는 추가될 경우에는 지연 시간을 트랜잭션 바깥으로 빼주어야 한다. 또한, 비즈니스로직에 영향을 주지 않는 외부 API에서 실패가 발생했을 경우에는 모든 비즈니스로직이 롤백되지 않아야 한다. (알림전송 서비스가 추가될 경우)관심사의 분리 결여-> 각자 다른 도메인의..
· DEV/MSA
MSA 개발 가이드 목차 Spring Boot Spring Cloud 응용프로그램 개발 분야는 Spring 프레임워크의 유례없는 성장과 함께 더 간결하고 빠른 개발을 가능케 하는 패러다임의 변화를 경험했다. Spring 프레임워크의 핵심인 의존성 주입(DI)과 관점 지향 프로그래밍(AOP) 기법은 응용 프로그램 개발의 새로운 표준으로 떠올랐다. 그럼에도 불구하고, Spring 프레임워크의 계속된 발전은 설정의 복잡성을 높였으며, 배포 측면에서는 크게 달라진 것이 없다. 특히, 응용 프로그램의 복잡성과 대화형 개발 및 배포 방식에 대한 근본적인 변화가 요구되고 있다. 이러한 문제를 해결하기 위해 마이크로서비스 아키텍처(MSA)가 도입되었다. 이 아키텍처는 독립적으로 작동하는 컴포넌트들로 대규모 시스템을 구..
· DEV/MSA
지금까지 개발했던 프로젝트들은 모두 모놀로식 아키텍처였는데, 신입으로 입사 이후 마이크로서비스 아키텍처라는 것을 접하게 되었다. MSA는 민첩성과 유연성을 장점으로 하는 클라우드 플랫폼에서 개발, 실행, 운영, 관리될 수 있도록 분산환경을 구성하는 아키텍처이다. 사용자 관점을 유지하면서도, 안정적이도 탄력적으로 운영할 수 있다는 장점도 있다. MSA 개발 가이드는 가벼운 구조로 클라우드 환경에 적용하기 적합한 스프링부트를 사용하여 작성할 것이다. 그래서 앞으로는 MSA로 웹사이트를 개발해 볼 예정이다. MSA로 개발하려면 많은 개발지식이 요구되는데, 하나하나 정리하면서 가이드를 작성해보려 한다. MSA 개발 가이드 목차 MSA의 정의와 사용하는 이유 12-Factor-App 방법론 Service Mesh..
wn1331
'MSA' 태그의 글 목록