Spring Kafka를 활용한 동적 토픽 관리 및 격리된 컨슈머 컨테이너 구현

배경 및 요구사항 마이크로서비스 환경에서 각 비즈니스 모듈은 독립적인 Kafka 토픽을 소비해야 하는 경우가 많습니다. 모듈이 동적으로 추가되거나 모니터링 대상 토픽이 실시간으로 변경될 수 있으므로, 정적인 @KafkaListener 어노테이션만으로는 유연한 대응과 모듈 간 소비 격리를 달성하기 어렵습니다. 특히 토픽 패턴 매칭만으로는 명확한 모듈별 분리 소비가 불가 ...

7월 2일 04:03에 게시됨

마이크로서비스 RabbitMQ 분석: 배포부터 사용까지 전체 가이드

목차 RabbitMQ란? MQ의 개념 RabbitMQ 주요 기능과 사용 이유 Docker를 활용한 설치 핵심 구성 요소 SpringBoot 통합 구현 1. RabbitMQ란? 1.1 MQ의 정의 MQ(Message Queue)는 메시지 전송 과정에서 메시지를 보관하는 컨테이너입니다. 메시지 큐는 비동기 통신을 가능하게 하여 시스템 간 결합도를 낮추고 처리 효율성을 향상시킵니다. 1.2 RabbitMQ 특징 RabbitMQ는 ...

7월 1일 18:22에 게시됨

Docker Compose 기초 가이드

Docker를 사용할 때 Dockerfile을 정의하고 docker build, docker run 등의 명령어로 컨테이너를 관리합니다. 그러나 마이크로서비스 아키텍처에서는 여러 서비스가 각각 여러 인스턴스로 배포되므로 수동으로 시작/중지하는 것은 비효율적입니다. Docker Compose는 멀티 컨테이너 애플리케이션을 쉽게 관리하는 도구로, 서비스 정의와 실행을 위한 YAML 파일을 통해 자동 ...

6월 29일 23:05에 게시됨

스프링 클라우드 게이트웨이 내장 필터의 다양한 활용 패턴

1. FallbackHeaders 를 활용한 에러 컨텍스트 전달 Circuit Breaker 기능으로 인해 특정 서비스 요청이 실패하여 폴백 (Fallback) 로직이 수행될 때, 해당 오류에 대한 상세 정보를 다음 처리 단계로 전달할 필요가 있는 경우가 많습니다. FallbackHeaders 필터는 이러한 시나리오에 적합합니다. 이 필터를 적용하면 서킷 브레이커가 활성화되어 외부 URI 로 포워딩되는 ...

6월 29일 20:53에 게시됨

CentOS7에서 Spring Cloud 마이크로서비스를 도커로 배포하는 방법

환경 구성 필수 도구 준비 가상머신 관리: VMware 리모트 접속 및 파일 전송: Xshell, Xftp 애플리케이션 런타임: Docker 프로젝트 패키징: IntelliJ IDEA, Maven 구성 파일 편집: 텍스트 에디터 (예: vim, nano) CentOS7 환경 설정 방화벽 설정 서비스 포트만 개방하는 방식을 채택함. 다음 포트를 열어야 함: 8848, 10086, 8080, 8081, 8091 변경 후 반드시 방화 ...

6월 15일 19:29에 게시됨

Spring Gateway로 구현하는 API 게이트웨이

Netflix OSS와 Spring Cloud의 관계 2020년 이전 마이크로서비스 생태계에서는 Netflix가 오픈소스로 공개한 다양한 컴포넌트가 표준처럼 사용되었다. 현재는 Spring Cloud Alibaba가 대체재로 자리 잡았지만, 여전히 레거시 시스템에서 Netflix 스택을 접할 수 있다. Spring Cloud AlibabaNetflix OSS역할 NacosEureka서비스 디스커버리 DubboRibbon + FeignRPC 기반 서 ...

6월 13일 23:07에 게시됨

스프링 클라우드를 활용한 마이크로서비스 아키텍처 구축

모놀리식(Monolithic) 아키텍처는 모든 기능 모듈이 단일 프로젝트 내에서 개발되고 배포 시 함께 컴파일 및 패키징되는 구조입니다. 이는 초기 단계의 프로젝트나 소규모 팀에는 단순하고 효율적일 수 있습니다. 하지만 비즈니스 규모가 확장되고 개발 인력이 증가함에 따라 여러 문제점이 드러납니다. 모놀리식 아키텍처의 한계: 높은 팀 협업 비용: 모든 모듈이 ...

6월 13일 22:10에 게시됨

LLM 플랫폼을 위한 API 서비스 선택 가이드: gRPC vs RESTful 성능 비교

대형 언어 모델(LLM) 호출 플랫폼인 wenda는 개인 및 중소기업의 리소스 제약과 데이터 보안 요구사항을 고려하여 설계되었습니다. 이 문서에서는 해당 플랫폼에서 제공하는 두 가지 주요 API 방식인 gRPC와 RESTful API의 성능 차이를 분석하고, 적절한 인터페이스 선택 전략을 제시합니다. 왜 API 선택이 중요한가? wenda는 RWKV, ChatGLM, Llama 등 다양한 오픈소스 언 ...

6월 9일 19:17에 게시됨

스프링 클라우드 마이크로서비스 아키텍처

단일 애플리케이션의 문제점 비즈니스가 발전함에 따라 개복잡도가 증가합니다. 특정 기능 수정이나 추가 시 전체 시스템 테스트와 재배포가 필요합니다. 한 모듈의 문제가 전체 시스템 장애로 이어질 수 있습니다. 여러 개발팀이 동시에 데이터를 관리할 경우 보안 취약점이 발생할 수 있습니다. 모든 모듈이 동일한 기술로 개발되어 실제 상황에 맞는 최적의 기술 선택 ...

6월 8일 20:00에 게시됨

Spring Cloud Gateway 기반 API 게이트웨이 구축 및 활용

마이크로서비스 아키텍처에서 시스템은 여러 개의 독립적인 서비스로 분리됩니다. 이러한 환경에서 클라이언트가 각각의 마이크로서비스에 직접 접근해야 한다면 다음과 같은 복잡성과 문제가 발생할 수 있습니다. 클라이언트 애플리케이션의 복잡성 증대: 여러 서비스의 주소를 관리하고 각기 다른 방식으로 호출해야 합니다. 인증 및 권한 부여의 어려움: 각 서비스마다 ...

6월 6일 21:29에 게시됨