rabbitmq與gearman有什麼不同之處?

來源:互聯網
上載者:User
關鍵字 rabbitmq gearman
rabbitmq與gearman都是做訊息佇列的,那麼兩者之間有什麼區別,或者說優點與缺點的比較各在哪裡?

回複內容:

Gearman是分布式任務分發系統,重點是job
RabbitMQ是分布式訊息佇列,重在message/data

Gearman要實現Message的priority、order、filter、persistence..都比較麻煩(或者說不夠直接),而這些都是典型的MQ系統要考慮的。正如樓上回複的一樣,Gearman 偏重任務分發(也有調度),基本工作模式,是由 Client (多個)向 Server 去註冊一些函數,當然 Server 接受到任務後,分發到這些函數上。

RabbitMQ 則是很多訊息模型的實現,比如簡單的生產者消費者、發布訂閱、廣播,甚至可以類比 RPC 等等,Gearman 的功能,簡單的生產者消費者模型就可以實現,只是思路上稍微換一下,需要消費訊息來實現,官方也有類似參考例子:RabbitMQ - RabbitMQ tutorial - Work queues

建議看下 RabbitMQ 官方這個例子教程 RabbitMQ - Getting started with RabbitMQ ,裡麵包含了幾種模型的執行個體,很容易結合我們現實中情境。

至於優缺點,仁者見仁。

大概三年前吧,我給一家某行業內比較知名公司最佳化過 Gearman 到 RabbitMQ 的方案,高峰時候一小時訊息量在 x 千萬以上,最佳化前 Gearman Server 負載較重,包括 Client(Worker)也會經常掛掉,很多訊息會丟失,後來遷移到 RabbitMQ 上面,Server 只有一台(備份一台基本從來就沒用過),Client 採用 ACK 確認訊息成功消費掉,後來就沒有然後了。。。這裡故事不在描述。

推薦使用 RabbitMQ,不僅僅是作為訊息模型,還可以改善系統架構設計。
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.