RabbitMQ — 메시지 브로커
- 메시지를 다른 대기열로 보낼 수 있는 라우팅 시스템을 갖춤
- 메시지 우선순위 지원
- 크고 복잡한 메시지에 적합
- 속도보다 지속성이 중요한 서비스에 적합
Redis — 인메모리 Cache 서버
- Key-Value를 이용해, Celery가 처리할 작업을 보낸 후 Cache에서 해당 Key 제거
- Database에 접근하기 전, 메모리에서 Cache를 가져다 쓴다는 점에서 속도가 빠름
- 지속성이 중요하지 않고, 약간의 손실을 견딜 수 있는 짧은 보존 메시지에 적합
Redis docker-compose.file
version: '3.7'
services:
redis:
image: redis:alpine
command: redis-server --requirepass changeme --port 6379
container_name: redis_boot
hostname: redis_boot
labels:
- "name=redis"
- "mode=standalone"
ports:
- 6379:6379
접근 : redis://default:password@{IpAddress}/0'
RabbitMQ docker-compose.file
version: '3'
services:
rabbitmq:
image: 'rabbitmq:3-management-alpine'
container_name: rabbitmq-stream
ports:
- "5672:5672"
- "15672:15672"
environment:
RABBITMQ_ERLANG_COOKIE: "RabbitMQ-My-Cookies"
RABBITMQ_DEFAULT_USER: "admin"
RABBITMQ_DEFAULT_PASS: "admin"
접근 : amqp://admin:admin@{ipaddress}//
'DRF & Django' 카테고리의 다른 글
[Django] Django에서 쓰이는 Context Manager (0) | 2023.01.31 |
---|---|
[DRF] Serializers 개념 (0) | 2022.08.08 |
[DRF] ORM 중복 제거 (0) | 2022.03.10 |
[DRF] Redis, Celery 기본 세팅 (1) | 2022.02.01 |