code

Rabbitmq 또는 Gearman-작업 대기열 선택

codestyles 2020. 11. 15. 11:19
반응형

Rabbitmq 또는 Gearman-작업 대기열 선택


직장에서 우리는 이메일 보내기, PDF 작성, 일부 데이터 처리 등과 같은 작업을위한 작업 서버를 구축해야합니다. 당연히 일종의 일반 대기열 시스템을 구축하고 싶습니다. 저는 Gearman에 대해 잘 알고 있으며 이것이 해결하려고하는 정확한 문제입니다. 작업자가 작업을 주러 오는 대기열에 작업을 배치하는 것입니다. 그러나 Rabbitmq에 대한 많은 언급이 있으며이 시나리오에서 어떻게 사용되는지 명확하지 않습니다.

Rabbitmq는 분산 된 작업 시스템을 구축하는 데 좋은 프레임 워크입니까?


Gearman은 "작업"을 대기열에 추가하는 데 더 좋고 RabbitMQ는 "데이터"를 대기열에 추가하는 데 더 좋습니다. 물론 둘 다 실제로는 똑같습니다.하지만 저에게 효과적인 방법은 작업을 "팬 아웃"하려고하고 작업자가 독립적으로 작업 할 수 있다면 Gearman이 더 나은 방법이라는 것입니다. . 그러나 많은 소스의 데이터를 적은 수의 데이터 소비자에게 공급하려는 경우 RabbitMQ가 더 나은 솔루션입니다.

RabbitMQ의 역사는 트위터가 엄청난 양의 메시지를 가져 와서 하나의 연결 만 열린 상태로 유지할 수있는 딱딱한 오래된 SMS 게이트웨이에 공급할 수있게 해주 며, 속도가 제한되고 재 시도가 없었던 종류의 문제를 설명합니다. RabbitMQ는 해결에 능숙합니다.


그것은 모두 당신이 노출하려는 의미에 달려 있습니다. Gearman이 RabbitMQ를 기반으로하는 작업을 수행하는 것은 정말 쉽습니다. 이는 확실히 독립 작업자에게 메시지를 '팬 아웃'할 수 있습니다.

그러나 Gearman은 목적을 위해 만들어졌습니다. IIUC, Gearman은 메시징 시스템이 아닌 작업 처리를 위한 프레임 워크입니다 . 이를 위해 RabbitMQ를 사용하는 Celery와 같은 다른 프레임 워크가 있습니다. 다음은 읽을 가치가있는 셀러리에 대한 기사 입니다.

참고 URL : https://stackoverflow.com/questions/2283955/rabbitmq-or-gearman-choosing-a-jobs-queue

반응형