Redis만으로도 비동기 처리는 가능하잖아‼️ 근데 왜 Celery+Redis를 사용해야 할까
·
AlgoMate
FastAPI에서 비동기 작업을 위한 Redis vs Celery: 언제, 왜 사용해야 할까?최근 웹 애플리케이션에서는 백그라운드에서 무거운 작업을 실행할 필요가 많다.예를 들어, 크롤링, 데이터 처리, 대량의 이메일 전송, 이미지 변환 같은 작업들은 즉시 응답할 필요가 없으며, 사용자가 기다리지 않도록 백그라운드에서 실행하는 것이 필수적이다. 이때, Python 기반의 FastAPI와 함께 사용할 수 있는 대표적인 비동기 처리 방법이 Redis와 Celery이다.Redis만 사용해도 비동기 처리가 가능하지만, Celery까지 도입하면 훨씬 강력한 기능을 활용할 수 있다.이번 글에서는 Redis만 사용한 비동기 처리 vs Celery + Redis를 사용한 비동기 처리의 차이를 정리해보려고 한다.1. ..
Celery + Redis vs Celery + RabbitMQ: 어떤 선택이 더 나을까?
·
AlgoMate
크롤링 서버를 구축하는 과정에서 크롤링이 오래걸려 사용자가 기다려야 하는데, 너무 오래 걸려서 UX가 좋지 않은 것 같아 이 문제를 해결하는 과정에서 Celery를 사용하게 되었다. 메세지 브로커를 선택하는 과정에서 Redis 와 RabbitMQ, Amazon SQS, Kafka 등이 사용될 수 있는데 작은 서비스의 경우에는 Redis 와 RabbitMQ이 둘 사이에 고민하는 게 맞는 것 같아서 둘을 비교하고 나에게 적합한 메세지 큐를 선택하려고 한다. 🔥 Celery의 메시지 브로커 선택Celery는 분산 작업 큐(Distributed Task Queue)로, 비동기 작업을 처리하는 데 널리 사용된다. Celery는 메시지 브로커(Message Broker)를 통해 작업을 전달하며, 대표적인 브로커로..