본문 바로가기

softwarearchitecture4

Hexagonal Architecture 완전 가이드: Ports와 Adapters로 구현하기 핵사고날 아키텍처(Hexagonal Architecture)란? 출처: https://medium.com/@luishrsoares/whats-hexagonal-architecture-6da22d4ab600 애플리케이션의 핵심 로직을 외부 요소들로부터 격리시키는 것에 중점을 둔 아키텍처입니다. 레이어 간의 원하지 않는 종속성이나 비즈니스 로직으로 인한 사용자 인터페이스 코드의 오염과 같은 객체 지향 소프트웨어 설계의 알려진 구조적 함정을 피하기 위해 Alistair Cockburn에 의해 발명되었습니다. Ports and Adapters Architecture 라고도 불립니다. Hexagonal Architecture의 주요 개념 Central Domain 애플리케이션의 핵심 비즈니스 로직이 위치합니다. .. 2024. 1. 25.
마이크로서비스 아키텍처(MSA): 변화하는 시장에 대한 대응 전략 MSA의 등장 배경 모놀리식, SOA의 한계점 협업, 커뮤니케이션, 확장성, 유연성, 결합도, 응집도, 빌드와 배포 ... "요구사항 변화에 따른 빠른 대처"가 불가능합니다. 기술적 유연성의 부족: 하나의 기술 스택에 종속될 가능성이 높아, 새로운 기술 도입이 어렵습니다. 배포 및 확장의 어려움: 모놀리식인 경우 하나의 기능에 문제가 생겨도 전체 배포가 필요하며 전체 애플리케이션에 대한 확장을 해야 합니다. 빠른 변화와 시장 대응 현대의 비즈니스 환경에서는 빠르게 변화하는 시장 요구사항에 신속하게 대응해야 합니다. MSA는 각 마이크로서비스를 독립적으로 배포하고 업데이트 할 수 있어, 더 빠르게 시장 변화에 대응 할 수 있게 합니다. 클라우드 컴퓨팅의 부상 AWS 등 클라우드 서비스의 성장과 함께 애플리.. 2024. 1. 25.
모놀리식 아키텍처: 기본 원리부터 장단점까지 모놀리식 아키텍처란? 기본적으로 모든 종류의 서비스가 하나의 어플리케이션으로 구성되어 있는 아키텍처입니다. 아래 그림과 같이 FrontEnd Layer, BackEnd Layer, Data Layer, Database Layer로 구성되어 모든 서비스가 하나의 어플리케이션에 포함되어 있으며 1개의 Database를 이용합니다. 특징 하나의 주요 프로세스로 구성 모든 서비스가 하나의 DB endpoint를 사용 한줄만 코드가 수정되더라도 모든 어플리케이션의 재배포가 필요 싱글 or 멀티 모듈로 구성할 수는 있지만 지속적인 통합(CI)의 단위가 달라질 뿐, 배포(CD)의 범위는 여전히 전체 모놀리식 아키텍처를 많이 사용한 이유 간단함 하나의 코드베이스로 구성되어 있어 개발, 디버깅 및 테스팅이 간편합니다. .. 2024. 1. 25.
모놀리식에서 MSA로의 전환: 기술적 변화와 장단점 분석 MSA란? "Microservices Architecture"의 약자로, 어플리케이션을 작고 독립적인 서비스들로 구성된 소프트웨어 아키텍처 패턴입니다. 애플리케이션 구성요소가 통신프로토콜을 통해 다른 구성요소에 서비스를 제공하는 아키텍처 접근 방식 대규모 컴퓨터 시스템을 구축할 때의 개념으로 소프트웨어 기능을 서비스로 판단하여 그 서비스를 네트워크상에 연동하여 시스템 전체를 구축해 나가는 방법론 여기서 '서비스'는 기능의 독립적 단위 예를들면 다음과 같은 기능들이 각각 별도의 마이크로서비스로 동작하고 있다고 생각하면 됩니다. ott(넷플릭스, youtube 등..) 서비스에서의 마이크로서비스 동작은 다음과 같습니다. 영화추천 서비스: 사용자의 과거 시청 이력, 선호 장르 등을 바탕으로 개인.. 2024. 1. 25.