반응형

Message Queue 3

Rabbit MQ

1️⃣ RabbitMQ 기본 개념구성요소구성요소설명Producer메시지를 생성·전송Consumer메시지를 수신·처리Queue메시지 대기 버퍼Exchange메시지를 Queue로 라우팅BindingExchange ↔ Queue 연결 규칙메시지 흐름Producer → Exchange → (Binding 규칙) → Queue → ConsumerExchange 종류타입설명DirectRouting Key 정확히 일치하는 Queue로 전달Fanout연결된 모든 Queue에 브로드캐스트Topic와일드카드 패턴으로 라우팅Headers헤더 속성으로 라우팅주요 특징비동기 처리 / 서비스 디커플링메시지 내구성 (디스크 저장)ACK/NACK 메커니즘AMQP 프로토콜 / Erlang 기반2️⃣ 다중 Consumer 메시지 분배기..

메시징 2020.05.13

Kafka

Kafka란?Apache Kafka는 LinkedIn에서 개발하고 2011년 오픈소스로 공개된 분산 이벤트 스트리밍 플랫폼입니다. 대용량 실시간 데이터를 빠르고 안정적으로 처리하기 위해 설계되었습니다.핵심 개념🏗️ 아키텍처 구성요소구성요소설명Producer메시지를 생성하여 Kafka에 전송하는 주체ConsumerKafka에서 메시지를 읽어 처리하는 주체BrokerKafka 서버. 메시지를 저장하고 전달Topic메시지를 분류하는 논리적 채널PartitionTopic을 나누는 물리적 단위. 병렬 처리 가능Consumer Group여러 Consumer가 하나의 그룹으로 동작하여 부하 분산ZooKeeper / KRaft클러스터 메타데이터 관리 (최신 버전은 KRaft로 대체)동작 방식Producer → [To..

메시징 2020.05.08

Message Queue

1. 메시지 큐란?프로세스/서비스 간 비동기 통신을 위한 중간 저장소Producer → [Message Queue] → ConsumerProducer: 메시지를 생성해서 큐에 전송Queue: 메시지를 임시 보관Consumer: 큐에서 메시지를 꺼내 처리Broker: 큐를 관리하는 서버 (RabbitMQ, Kafka 등)2. 장단점 및 주의사항✅ 장점장점설명비동기 처리송신자와 수신자가 동시에 실행될 필요 없음느슨한 결합서비스 간 직접 의존성 제거부하 분산트래픽 급증 시 큐에 쌓아 처리 속도 조절내결함성Consumer가 다운되어도 메시지 보존확장성Consumer를 수평 확장하여 처리량 증가❌ 단점단점설명운영 복잡도 증가Broker 서버 별도 운영 및 관리 필요디버깅 어려움비동기 흐름이라 문제 추적이 어려움지..

메시징 2020.05.08
반응형