목록kafka (3)
주뇽's 저장소
메시지 큐에서 데이터 유실 및 중복 방지 방법 – Redis + 해싱 전략, Kafka, RabbitMQ 비교하기 💡메시지 큐 시스템을 사용할 때 중요한 문제 중 하나가 바로 데이터 유실과 중복 방지이다. 시스템에 장애가 발생하거나 중복 요청이 들어올 때, 메시지가 유실되지 않도록 처리하고 중복되지 않게 만드는 것이 중요하다. 오늘은 Redis + 해싱 전략, Kafka, RabbitMQ가 각각 어떻게 데이터 유실과 중복을 방지하는지 비교해본다.1. Redis + 해싱 전략 🏃♂️ – 빠르고 간단한 데이터 유실 방지Redis는 본래 메시지 큐 전용 시스템이 아니지만, 빠른 데이터 처리를 위해 자주 사용된다. 하지만 Redis에서 메시지 유실을 방지하기 위해서는 해싱 전략을 함께 사용해야 한다. 해싱..
Docker 네트워크로 FastAPI와 Kafka 컨테이너 연동하기: 주의할 점과 해결 방법뎁쭌 2024. 9. 13. 16:20 수정 공개 삭제Docker를 사용해 서로 다른 두 개의 컨테이너, FastAPI와 Kafka를 연결하고자 할 때, 네트워크 설정이 매우 중요하다. FastAPI 컨테이너에서 Kafka와 원활하게 통신하려면 같은 Docker 네트워크 안에서 실행되어야 하며, 네트워크 설정을 올바르게 구성하지 않으면 통신 오류가 발생할 수 있다. 이 글에서는 Docker 네트워크를 이용해 두 개의 컨테이너를 연동하는 방법과 주의할 점에 대해 설명한다.문제점: Docker 컨테이너 간 통신 오류 발생 😓FastAPI 컨테이너와 Kafka 컨테이너를 각각 실행하고 나서 FastAPI에서 Kafka..
Uvicorn에서 Gunicorn으로 전환 시 발생한 Kafka 문제 해결: 비동기, 동기, 블로킹, 논블로킹 개념과 적용 방법FastAPI 프로젝트에서 Kafka를 사용해 비동기 메시지 처리를 구현하다 보면, Uvicorn 단독 실행에서는 문제없이 동작하던 코드가 Gunicorn과 함께 실행할 때 문제를 일으킬 수 있다. 이 글에서는 Uvicorn과 Gunicorn의 차이, 비동기/동기, 블로킹/논블로킹 개념을 바탕으로 Kafka와 관련된 문제를 해결하는 방법에 대해 설명한다.문제점: Gunicorn 환경에서 비동기 처리가 제대로 되지 않음 😓FastAPI와 Kafka를 연동해 Uvicorn에서 workers=4로 설정하여 실행했을 때는 비동기 처리가 잘 이루어졌다. 그러나 Gunicorn과 Uvic..