Message Queue에서 트랜잭션(Transactions)
·
MQ
Message Queue에서 트랜잭션(Transactions)Message Queue에서 트랜잭션은 특정 메시지 처리 작업이 전부 성공적으로 완료되거나 모두 무효화되도록 보장하는 메커니즘을 의미합니다.이를 통해 메시지 소비 또는 생산 과정에서의 데이터 무결성과 일관성을 유지합니다. 트랜잭션을 지원하는 주요 Message Queue는 메시지 전송과 수신 과정에서 오류 발생 시 자동으로 롤백하거나, 정상 완료 시 커밋하여 데이터를 확정합니다.1. 트랜잭션의 개념트랜잭션은 일반적으로 원자성(Atomicity), 일관성(Consistency), 독립성(Isolation), 지속성(Durability)이라는 ACID 속성을 기반으로 합니다. Message Queue에서의 트랜잭션은 다음과 같은 상황에서 유용합니다..
RabbitMQ 클러스터와 Mirrored Queue
·
MQ
RabbitMQ 클러스터 모드RabbitMQ에서 장애 발생 시의 Failover 처리는 크게 **클러스터링(Clustering)**과 **Mirrored Queue(혹은 High-availbilty Queues)**의 두 가지 메커니즘으로 관리됩니다.RabbitMQ 클러스터 모드에서 내부 장애가 발생했을 때의 Failover 처리 방법은 RabbitMQ의 클러스터링 및 고가용성(HA) 설정에 따라 다릅니다.RabbitMQ 클러스터 모드는 여러 RabbitMQ 노드를 하나의 클러스터로 묶어 장애 시에도 서비스가 계속 운영될 수 있도록 설계됩니다.1. RabbitMQ 클러스터의 구성 방식RabbitMQ 클러스터는 Disc 노드와 RAM 노드의 조합으로 구성됩니다:Disc 노드: 디스크에 메타데이터(큐 정의,..
RabbitMQ 메시지 패턴방식
·
MQ
RabbitMQRabbitMQ는 오픈 소스 메시지 브로커 소프트웨어로서 AMQP(Advanced Message Queuing Protocol) 기반으로 동작합니다.RabbitMQ는 확장성, 신뢰성, 유연성 측면에서 높은 평가를 받으며, 메시지 큐의 대표적인 구현체 중 하나입니다. RabbitMQ의 주요 특징과 개념은 다음과 같습니다주요 개념Producer(프로듀서):메시지를 생성하고 큐(queue)에 보냅니다.RabbitMQ에서 메시지는 교환기(exchange)를 통해 큐에 전달되기 때문에, Producer는 메시지를 교환기에 보냅니다.Exchange(교환기):교환기는 Producer로부터 받은 메시지를 특정한 큐에 전달하는 역할을 합니다.Exchange의 타입에는 direct, topic, fanout..
MQ 과금 청구 모델 with RabbitMQ
·
MQ
MQ 과금 청구 모델 with RabbitMQ음성인식, 음성합성 및 의도 분류 API 사용 시에 사용량에 따라 과금 청구 정보를 저장하는 시스템이 있습니다.과금 청구 정보는 MySQL에 저장합니다.RabbitMQ를 활용해 안정성 있게 처리하려고 합니다.DB Write 실패에 대한 에러 처리를 진행하고 재시도를 해야합니다.1. Exchange와 Queue 설계과금 정보를 처리하기 위해 RabbitMQ를 기반으로 Exchange와 Queue를 설계해보겠습니다.1-1. ExchangeExchange Name: billing-exchangeType: topic (주제별로 메시지를 라우팅할 수 있어야 함)Routing Keys:billing.speech-recognition: 음성인식 관련 과금 정보billing..
AMQP 프로토콜
·
MQ
AMQP 프로토콜AMQP(Advanced Message Queuing Protocol)는 메시지 지향 미들웨어를 위한 오픈 표준 프로토콜입니다.주로 대규모 메시징 시스템에서 메시지를 송수신하기 위한 프로토콜로, 클라이언트와 메시지 브로커 간의 통신을 효율적으로 처리하는 역할을 합니다.AMQP는 다양한 메시징 패턴과 신뢰성, 보안을 제공하며, 메시지 기반의 분산 시스템에서 많이 사용됩니다.AMQP의 주요 특징플랫폼 독립성: AMQP는 프로토콜이므로 특정 언어나 운영체제에 종속되지 않습니다. 다양한 언어와 플랫폼에서 동일한 프로토콜을 사용할 수 있습니다.메시지 라우팅: AMQP는 교환기(Exchange)와 큐(Queue)를 사용하여 메시지를 다양한 방식으로 라우팅할 수 있습니다. 이로 인해 Publish/S..
Message Queue
·
MQ
Message QueueMessage Queue는 애플리케이션 간 메시지를 비동기적으로 전달하고 처리할 수 있도록 지원하는 소프트웨어 시스템입니다.보통 생산자(Producer)와 소비자(Consumer) 개념을 통해 메시지를 주고받으며, 메시지의 송수신을 비동기적으로 처리함으로써 두 시스템 간의 결합도를 낮추고 확장성을 높이는 역할을 합니다.개념주요 개념과 기능은 다음과 같습니다:비동기 처리: 생산자는 메시지를 큐에 보내기만 하면 되고, 소비자는 메시지를 필요할 때 가져가 처리할 수 있습니다. 따라서 두 시스템 간의 실시간 동기화가 필요하지 않습니다.내구성 및 신뢰성: 메시지가 유실되지 않도록 저장하고, 소비자가 메시지를 정상적으로 처리했는지 확인할 수 있습니다. 이로 인해 서비스의 안정성과 신뢰성을 높..
김 정출
'MQ' 카테고리의 글 목록