최근 포스트
[08] Worker와 Prefetch로 처리량 실험하기
Worker 수와 Prefetch를 따로 바꾸는 실험을 설계하고 처리량과 완료 시간을 해석합니다.
[01] Docker로 RabbitMQ 실습 환경 구축하기
Docker Compose로 RabbitMQ, FastAPI, Vue 대시보드를 실행하고 실제 연결을 확인합니다.
[12] Pyro5 RPC와 메시지 큐 방식 비교하기
같은 계산을 RPC와 Celery로 요청하며 대기, 서비스 중단, Timeout을 비교합니다.
[04] Exchange와 Binding으로 메시지 라우팅하기
Direct, Fanout, Topic의 라우팅 규칙을 Queue별 수신 결과와 비교합니다.
[06] 실패 메시지 처리 — Retry, TTL, DLQ
일시 실패와 영구 실패를 구분하고 지연 재시도와 최종 격리 흐름을 살펴봅니다.
[03] ACK 전에 Consumer가 죽으면 무슨 일이 생길까?
ACK 전후 강제 종료로 재전달과 중복 업무가 발생하는 지점을 확인합니다.
[05] 발행 성공의 의미 — Confirm, Return, 영속성
Publisher Confirm, mandatory Return, durable Queue와 persistent 메시지의 경계를 구분합니다.
[02] Pika로 배우는 메시지 발행과 수동 ACK
Ready와 Unacked, Prefetch 1, 수동 ACK를 실제 메시지 상태 변화로 이해합니다.
[13] Transactional Outbox와 종합 장애 실험
업무와 발행 의도를 같은 트랜잭션에 저장하고 Relay 중단과 중복 발행을 다룹니다.
[09] Pika에서 Kombu로 — 메시징 추상화 이해하기
Kombu 객체와 Pika 명령을 비교하고 추상화 이후에도 남는 신뢰성 책임을 설명합니다.
[00] MessageFlow Lab 소개 — 메시지 큐를 실험으로 배우기
프로젝트 구조와 기술별 역할, Phase 0–12의 학습 순서를 정리합니다.
[07] 중복 메시지에도 업무를 한 번만 반영하기
SQLite 고유 제약과 트랜잭션, Commit 이후 ACK로 업무 중복을 방어합니다.
[11] Celery Retry와 Worker 종료 동작 이해하기
Task Retry, Broker 재전달, ACK 정책과 Worker 종료를 구분하는 실험을 설계합니다.
[10] Celery로 비동기 Task 실행하기
Broker, Worker, Result Backend를 분리하고 Task ID로 결과를 조회하는 흐름을 설계합니다.