왜 RabbitMQ 대신 셀러리를 사용합니까?
제가 알기로는 Celery는 분산된 작업 대기열입니다. 즉, 다른 서버로 작업/작업을 발송하고 결과를 반환해야 합니다.토끼MQ는 메시지 큐이며 그 이상은 아닙니다.그러나 작업자는 메시지가 수신될 때 MQ를 듣고 작업을 실행할 수 있습니다.이것은 정확히 셀러리가 제공하는 것을 달성하는데, 왜 셀러리가 필요한가요?
맞아요, 당신은 셀러리가 전혀 필요하지 않아요.분산 시스템을 설계할 때는 많은 옵션이 있으며 모든 상황에 맞는 올바른 방법은 없습니다.
많은 사람들은 메시지 소비자가 대기열에 메시지가 나타나기를 기다리고, 일부 작업을 수행하고, 작업이 완료되면 메시지를 보내는 것이 더 유연하다는 것을 알게 됩니다.
셀러리는 모든 것을 패키지로 포장하는 프레임워크이지만, 패키지 전체가 실제로 필요하지 않다면 RabbitMQ를 설정하고 모든 복잡성 없이 필요한 것만 구현하는 것이 좋습니다.게다가, 토끼.MQ는 셀러리가 구현하는 태스크 대기열 시나리오 외에도 더 많은 시나리오에서 사용할 수 있습니다.
하지만 셀러리를 선택했다면 RabbitMQ에 대해 다시 한 번 생각해 보십시오. 셀러리의 메시지 큐잉 모델은 단순하며 RabbitMQ보다 Redis와 같은 것에 더 적합합니다. Rabbit에는 셀러리가 기본적으로 무시하는 다양한 옵션이 있습니다.
셀러리는 기본적으로 당신이 말한 대로 할 수 있는 훌륭한 인터페이스를 제공하고 당신을 위해 모든 구성을 처리합니다.네, 손으로 할 수는 있지만, 셀러리를 다시 쓰는 것 뿐입니다.
제 생각에는 RabbitMQ보다 셀러리를 꽃과 다른 모니터링 패키지에 통합하는 것이 쉽습니다.
모든 것은 사용 사례에 따라 다릅니다.
만약 당신이 셀러리가 제공하는 다른 기능들이 필요하지 않다면, Rabbit.MQ는 쉽게 빠져나갈 수 있는 방법입니다.당신의 선택을 고려하는 것은 나쁜 생각이 아닐 것입니다.
언급URL : https://stackoverflow.com/questions/9077687/why-use-celery-instead-of-rabbitmq
'programing' 카테고리의 다른 글
생성자 기능 대 공장 기능 (0) | 2023.07.22 |
---|---|
Python: 지정된 날짜의 시작 및 끝 데이터 제공 (0) | 2023.07.22 |
Python 예약 단어 및 내장 목록을 라이브러리에서 사용할 수 있습니까? (0) | 2023.07.22 |
mysql 비교에 적합한 루비 날짜 시간 (0) | 2023.07.22 |
C에서 "signed int"가 "unsigned int"보다 빠른 이유는 무엇입니까? (0) | 2023.07.22 |