[redis/ celery/ python] 비동기 작업 큐 (1)

김진만·2023년 7월 13일
1
post-thumbnail

원만한 서비스를 위해서
대부분의 작업들은 비동기로 수행 해야합니다
파이썬 기반 작업에서는 'Celery' 라는 녀석이 있습니다
채소 샐러리의 단면을 자르면 줄기와 심지가 많죠
파이프가 여러개라 여러 파이프라인으로 병렬(비동기)처리 한다고 생각하면 됩니다
오픈소스 개발자들의 기가 막히는 네이밍센스~ 그러면

의문:

멀티 쓰레딩보다 뭐가 낫냐 -> 연결 유실이나 실패 등 재실행 옵션을 줄 수있다. (max_retries)

구성요소 3가지

1. Broker : task를 worker에게 전달

2. Client : task 생성

3. Worker : task 수행

직관적이죠?

영화랑 드라마에서 브로커들이 항상 유통구조 중간에서 마약과 총기를 팔죠
중간 허브같은 지점입니다 개발에서는 업무를 보관하고 나눠주고!

Broker 종류?

  1. RabbitMQ
  2. Redis
  3. Zookeeper(잘안씀)
    일반적으로 RabbitMQ 와 Redis를 많이 씁니다
    redis는 MQ, NoSQL, CacheDB 로 쓰이는 고가용성 플러그인입니다!!
    다음 챕터엔 redis 실습 갈게요
profile
충분한 전기와 컴퓨터 한 대와 내 이 몸만 남아 있다면 지구를 재건할 수 있습니다.

1개의 댓글

comment-user-thumbnail
2023년 9월 6일

수육 사진은 무슨 의미죠?

답글 달기