오늘날 소프트웨어 개발에서는 다양한 아키텍처 패턴이 사용되고 있으며, 그중에서도 모놀리틱 아키텍처와 마이크로서비스 아키텍처는 많이 언급됩니다. 이 두 아키텍처는 각각의 장단점이 있어, 프로젝트의 특성과 요구사항에 따라 적절하게 선택되어야 합니다. 모놀리틱 아키텍처는 소
소프트웨어 아키텍처의 세계에서 모놀리틱 아키텍처와 마이크로서비스 아키텍처(MSA)는 자주 비교되며, 이 두 가지 아키텍처는 각각의 특성과 장단점이 있습니다. 특히 데이터베이스 사용 방식에서 큰 차이를 보이는데, 이전에 수행한 프로젝트에서 모놀리틱 아키텍쳐의 구조를 사용
마이크로서비스 아키텍처(MSA)는 독립적으로 배포 가능하고, 각기 다른 비즈니스 기능을 수행하는 작은 서비스들로 구성됩니다. 이러한 서비스들은 서로 협력하여 전체 애플리케이션을 구성합니다. MSA 아키텍처가 어떻게 동작하는지, 클라이언트 요청이 어떻게 처리되는지, 그리
상품 아이디 111을 호출하면 에러를 발생시켜 fallbackMethod를 실행하는 것을 확인합니다.(fallbackMethod 실행된 뒤 일정시간 이후 다시 failbackMethod가 해제되는 것을 볼 수 있습니다.) actuator/prometheus 로그 조회
이 코드는 스프링 클라우드 게이트웨이(Spring Cloud Gateway)에서 필터를 구현하는 코드입니다. 이 필터는 요청을 처리하기 전에 실행되는 프리 필터(pre-filter)로, 주로 로깅이나 인증, 인가 등의 작업을 수행할 때 사용됩니다.@Override:이
마이크로서비스 아키텍처(MSA)에서는 시스템의 다양한 컴포넌트들이 독립적으로 배포되고 확장됩니다. 이로 인해 서비스 간의 상호작용을 효과적으로 관리하고, 성능과 신뢰성을 보장하기 위해 다양한 기술과 패턴이 사용됩니다. 이 중 라운드로빈, 라우팅, 로드밸런싱은 MSA에서
Feign는 Netflix에서 개발한 HTTP 클라이언트 바인더로, Spring Cloud와 통합되어 마이크로서비스 간의 통신을 간소화합니다. Feign을 사용하면 인터페이스를 통해 RESTful 웹 서비스 호출을 추상화할 수 있습니다. 이를 통해 복잡한 HTTP 통신
@EnableFeignClients 어노테이션은 Spring Cloud OpenFeign을 사용하여 다른 마이크로서비스와 통신하기 위해 필요한 클라이언트 인터페이스를 활성화합니다. 이 어노테이션은 Feign 클라이언트를 사용하는 서비스에 필요합니다.각 서비스에 @Ena
다음 다이어그램은 애플리케이션 수명 주기와 이것이 Amazon ECS 구성 요소와 함께 작동하는 방식을 보여줍니다. (용량, 컨트롤러, 프로비저닝 계층을 보여주는 다이어그램입니다.) 우선 컨테이너 에서 실행될 수 있도록 애플리케이션을 설계해야 합니다 . 컨테이너는 소프
Redis를 사용한 캐싱 전략에는 여러 가지가 있으며, 퍼지(Fuzzy)와 업데이트(Updating)도 포함될 수 있습니다. 여기서 캐싱 전략에 대한 전반적인 설명과 함께, 퍼지와 업데이트 전략이 무엇인지, 그리고 어떻게 사용하는지를 정리해드리겠습니다.캐싱 전략은 애플
대규모 트래픽 처리에서 쓰기 요청 최적화는 서버에 많은 양의 쓰기 요청이 들어왔을 때, 이 요청들을 효율적으로 처리하여 성능을 유지하는 것이 핵심입니다. 비동기 처리는 이러한 쓰기 요청을 최적화하기 위한 중요한 개념 중 하나입니다. 비동기 처리와 그 원리를 이해하는 것
개념: RabbitMQ는 AMQP(Advanced Message Queuing Protocol)를 기반으로 한 메시지 브로커입니다. 주로 메시지 전달의 신뢰성과 복잡한 라우팅이 중요한 시스템에서 사용됩니다.사용 사례:복잡한 라우팅: RabbitMQ는 다양한 라우팅 전략
Apache Kafka에서 오프셋(Offset)은 Kafka에서 메시지를 추적하고 관리하는 핵심 개념 중 하나입니다. 오프셋은 Kafka 파티션 내에서 메시지의 고유한 위치를 나타내는 숫자입니다. 이를 통해 Kafka는 메시지의 순서를 관리하고, 각 메시지가 정확히 어