
1. 모놀리식 아키텍처(Monolithic)란? 아키텍처는 전통적인 방식으로, 모든 애플리케이션을 하나의 단일 서비스로 구축하는 방식입니다. 이는 모든 기능이 하나의 애플리케이션에 포함되어 있고, 이 애플리케이션을 배포하고 확장하는 데 사용됩니다. (1) 특징 하나의
MSA 소프트웨어 아키텍처를 설계합에 있어서, 모놀리식 비즈니스 구조를 어떤 판단 기준에 따라 서비스를 분리할 것인지에 대한 패턴 즉, "분해"를 해결하기 위한 패턴도메인 주도 설계는 비즈니스 도메인을 중심으로 마이크로서비스를 식별하고 정의하는 방법론입니다. 각 도메인
1. 데이터 쿼리 패턴 MSA 소프트웨어 아키텍처를 설계하면서 생긴 "데이터 쿼리"의 어려움을 해결하기 위한 패턴으로 모놀리식 아키텍처에서는 한개의 DB에서 Table간 Join을 통해 처리가 가능했지만 MSA에서는 각 서비스 별로 다른 DB를 사용하기에 Query로
1. MSA에서의 소프트웨어 아키텍처 MSA에서는 유연성, 확장성, 낮은 응집도/결합도 등 MSA만의 특성이 각 Micro Service안에서도 필요하다. 그 이유로는 (1) 당장 요청에 대한 완료 응답을 필요는 없지만, 높은 성능을 요구하는 작업 대규모 Command
API Gateway란? 클라이언트와 백엔드 애플리케이션 또는 마이크로서비스 사이의 중개자 역할을 하는 서비스입니다. 클라이언트의 요청을 받아 적절한 백엔드 서비스로 라우팅하고, 인증, 권한 부여, 속도 제한 등의 기능을 수행합니다. 이를 통해 API 트래픽을 관리하
우선 Gateway를 통해 서버를 분류시키기 위해서는 2개이상의 서버가 존재해야한다. 따라서 2개의 서비스를 만들어 보겠다.eureka-client Dependecy 추가First-service의 포트번호는 8081로 지정fetch-registry: false:=> 기

SpringCloudGateway를 통한 서비스 처리
"Domain-Driven Design"의 약자로, 소프트웨어 개발에서 도메인(문제 영역)에 집중하여 설계하는 방법론입니다.DDD는 복잡한 비즈니스 요구사항을 효과적으로 모델링하고, 소프트웨어 아키텍처를 개선하는 데 도움을 줍니다. 이를 통해 개발자와 비즈니스 간의 협
서킷 브레이커는 마이크로서비스 간의 호출 실패를 감지하고 시스템의 전체적인 안정성을 유지하는 패턴외부 서비스 호출 실패 시 빠른 실패를 통해 장애를 격리하고, 시스템의 다른 부분에 영향을 주지 않도록 함Resilience4j는 서킷 브레이커 라이브러리로, 서비스 간의
초당 처리되는 트랜잭션의 수를 나타내는 지표입니다. 이는 시스템의 성능을 평가하는 중요한 지표 중 하나로, 특히 대규모 시스템에서 중요한 역할을 합니다.일간 접속량이 아닌, 특정 시간대에 초당 접속자 요청량이 가장 많은 시간을 파악해야 합니다. 이 정보는 시스템의 용량
RabbitMQ는 메시지 브로커입니다. 메시지 브로커는 데이터(메시지)를 송신자(프로듀서)로부터 수신자(컨슈머)에게 전달하는 중간 매개체 역할을 합니다.RabbitMQ는 이러한 메시지를 큐(queue)에 저장하고, 필요할 때 적절한 수신자에게 전달합니다.비동기 처리:
로드 밸런싱은 네트워크 트래픽을 여러 서버로 분산시켜 서버의 부하를 줄이고, 시스템의 성능과 가용성을 높이는 기술서버 간 트래픽을 고르게 분배하여 특정 서버에 부하가 집중되는 것을 방지클라이언트 사이드 로드 밸런싱은 클라이언트가 직접 여러 서버 중 하나를 선택하여 요청