컴퓨터 공학/소프트웨어 공학
[마이크로서비스 패턴] 분해 전략
마이크로서비스 아키텍처란 무엇인가? 마이크로서비스 아키텍처의 핵심 사상은 기능 분해이다. 이전에는 확장성, 신뢰성, 보안 등이 아키텍처의 주요 목표였지만, 이제는 신속, 안전하게 소프트웨어를 전달하는 능력도 매우 중요해졌다. 마이크로서비스 아키텍처는 관리성, 테스트성, 배포성이 높은 아키텍처 스타일. ▶ 소프트웨어 아키텍처의 4+1 뷰 모델 애플리케이션 아키텍처를 바라보는 관점은 다양하다. 필립 크러첸(Phillip Krutchen)은 소프트웨어 아키텍처가 4+1 뷰 모델이라고 기술한 논문을 발표했다. 4+1 뷰 모델은 소프트웨어 아키텍처를 바라보는 상이한 4뷰를 정의한다. 논리 뷰 (logical view): 개발자가 작성한 소프트웨어 엘리먼트: 클래스, 패키지 (객체 지향). 상속(inheritanc..
[마이크로 서비스 패턴] 모놀리식 지옥에서 벗어나라
FTGO 애플리케이션 아키텍처 모놀리스(monolith): 일체형 비즈니스 로직 각자가 도메인 객체 컬렉션인 모듈(예: 주문 관리, 배달 관리, 과금, 지불)로 구성됨 외부 시스템과 연계하는 어댑터 REST API, 웹 UI 어댑터 등 비즈니스 요청을 호출하여 처리하는 인바운드 어댑터 비즈니스 로직에서 MySQL DB에 접근하거나 트윌리오, 스트라이프 등 클라우드 서비스를 호출하게 해주는 아웃바운드 어댑터 모놀리식 아키텍처의 장점 규모가 작은 초기에는 모놀리식 아키텍처의 장점이 많았음 개발이 간단 애플리케이션을 쉽게 변경할 수 있음 테스트하기 쉬움 배포하기 쉬움 확장하기 쉬움 하지만 시간이 흐를수록 개발, 테스트, 배포, 확장하기가 쉽지 않음 모놀리식 지옥의 실상 너무 복잡해서 개발자가 주눅 듬 개발이 ..