Software Architecture
-
Micro ServiceSoftware Architecture 2023. 9. 28. 22:35
마이크로서비스는 소프트웨어 개발 패러다임의 하나로, 애플리케이션을 독립적인 서비스로 분해하는 아키텍처 스타일을 말한다. 독립적으로 존재하기 때문에 자체적으로 실행 가능하며, 데이터 베이스, 저장소 및 네트워크를 포함한 필요한 모든 것을 갖추고 있다. 서버 개발을 하다보면 여러가지 많은 기능을 만들어야하는데 하나의 프로젝트, 하나의 프로그램에 수 많은 서비스가 존재하게 되면 테스트, 컴파일, 빌드, 배포 등의 작업을 진행할 때에 상당한 시간이 소요 되고, 단일 서비스의 라이브러리 혹은 프레임워크의 버전 호환 문제 등 유지 보수 작업에도 어려움이 따른다. 이런 Monolith Architecture의 문제점을 해결할 수 있는 방법으로 Microservice Architecture 를 사용할 수 있다. 마이크..
-
CQRS 아는척 하기Software Architecture 2023. 9. 28. 22:34
명령 모델이란? - Command Query Responsibility Segregation :: CQRS 아는척하기 명령 (Command) 시스템의 데이터를 변경하는 기능을 말한다. 기능 예 (주문 취소, 배송 완료) 쿼리 (Query) 시스템의 데이터 조회를 조회하는 기능을 말한다. 기능 예 (주문 목록) 책임 (Responsibility) 구성 요소의 역할 구성 요소(모델) 클래스, 함수 모듈/패키지 웹서버/DB 분리 (Segregation) 역할에 따라 구성 요소 나눈다는것을 뜻한다. 좀 더 간단히 말하면 시스템 데이터를 변경하는 코드와 시스템 데이터를 조회하는 코드를 따로 만드는것이 CQRS이다. (주의할 점으로 코드만 나누는것이 아닌 구현 방식이나 시스템 규모에 따라 DB를 나누기도하고 프로세..