🏗️ ARCHITECTURE

    [12 Factor App] 마이크로서비스 개발 전 읽어보세요

    [12 Factor App] 마이크로서비스 개발 전 읽어보세요

    12 Factor App 이란? SaaS 애플리케이션을 만들기 위한 방법론으로써 프로그래밍 언어에 비종속적이며 DB, Queue, Memory-cache 등과 조합할 수 있는 방법론입니다. 이 방법론은 시간이 지나면서 망가지는 소프트웨어 유지비용을 줄이는 방법에 집중해 이상적인 개발 방법을 찾고자 했습니다. 12 Factor App 의 요소들 1. 코드 베이스 (Code Base) 코드 베이스는 VCS(Version Control System)을 사용해 변화를 추적하고 코드를 저장하는 저장소를 의미합니다. (예: Git, SVN 등) 이 방법론에서는 코드 베이스-앱이 항상 1 대 1 관계를 맺어야한다고 하는데, 쉽게 말해 코드는 한 곳에서 개발/배포 되어야한다 입니다. 준수하기 어렵진 않은데, 아래와 같..

    [나의 MSA 구축 일기] 처음 MSA를 구축해보며 겪었던 시행착오들

    [나의 MSA 구축 일기] 처음 MSA를 구축해보며 겪었던 시행착오들

    해보고 싶어서 그랬어요. 작년 여름이었다. 제대로 공부 한 번 해보자는 생각으로 JPA를 공부하고 있었는데 MSA라는 것을 알게되었다. 기존의 거대한 하나의 애플리케이션을 쪼개 여러 개의 애플리케이션으로 분리하고, 서로간의 통신은 RESTful-API로 구현하는 아키텍쳐인데 거기서 오는 장점에 매료되어 바로 관련 자료를 찾고 프로젝트를 시작했다. 각각의 모듈(분리된 애플리케이션)은 서비스의 특성과 목적에 따라 다른 개발 환경을 가질 수 있다. 제대로 구축된 MSA에서는 특정 모듈이 오류가 발생해 정상적인 서비스 제공이 불가능하더라도 전체 서비스가 죽지 않고 해당 모듈을 이용하는 서비스만 제한되었다. 특정 서비스의 코드 개선, 비즈니스 로직 수정 등의 변경이 발생할 경우 자그마한 하나의 모듈만 재배포하면 ..

반응형