2012-01-31 15 views
32

मेरी समझ से, सेलेरी एक वितरित कार्य कतार है, जिसका अर्थ है कि केवल एक चीज जो इसे करना चाहिए वह अन्य सर्वरों को कार्यों/नौकरियों को प्रेषित करना और परिणाम वापस प्राप्त करना है। RabbitMQ एक संदेश कतार है, और कुछ भी नहीं। हालांकि, एक कर्मचारी सिर्फ एमक्यू को सुन सकता है और जब कोई संदेश प्राप्त होता है तो कार्य निष्पादित कर सकता है। यह वास्तव में सेलेरी की पेशकश करता है, तो सेलरी की आवश्यकता क्यों है?खरगोश एमक्यू के बजाय सेलरी का उपयोग क्यों करें?

उत्तर

31

आप सही हैं, आपको सेलरी की बिल्कुल आवश्यकता नहीं है। जब आप एक वितरित प्रणाली को डिजाइन कर रहे होते हैं तो बहुत सारे विकल्प होते हैं और सभी स्थितियों को फिट करने वाली चीजों को करने का कोई सही तरीका नहीं है।

कई लोगों को लगता है कि संदेश उपभोक्ताओं के पूल में उनके कतार में एक संदेश देखने, कुछ काम करने और काम खत्म होने पर एक संदेश भेजने के लिए इंतजार करना अधिक लचीला है।

सेलेरी एक ढांचा है जो पैकेज में पूरी चीजों को लपेटता है लेकिन यदि आपको वास्तव में पूरे पैकेज की आवश्यकता नहीं है, तो खरगोश एमक्यू स्थापित करना और सभी जटिलताओं के बिना आपको जो चाहिए उसे लागू करना बेहतर है। इसके अलावा, खरगोश एमक्यू को कार्य कतार परिदृश्य के अलावा कई और परिदृश्यों में इस्तेमाल किया जा सकता है जो सेलेरी लागू करता है।

लेकिन यदि आप सेलेरी चुनते हैं, तो RabbitMQ के बारे में दो बार सोचें। सेलेरी का संदेश क्यूइंग मॉडल सरल है और यह वास्तव में खरगोश एमक्यू की तुलना में रेडिस जैसे कुछ के लिए बेहतर फिट है। खरगोश के विकल्पों का एक समृद्ध सेट है जो सेलेरी मूल रूप से अनदेखा करता है।

+2

"खरगोश के विकल्पों का एक समृद्ध सेट है जो सेलेरी मूल रूप से अनदेखा करता है"। यह सच है लेकिन थोड़ा भ्रामक है। उदाहरण के लिए आप खरगोश परत में रूटिंग नियम सेट कर सकते हैं जो सेलेरी द्वारा नियंत्रित नहीं हैं, लेकिन सेलरी कार्यों की रूटिंग और खपत को प्रभावित करते हैं। यह एक डिज़ाइन मुद्दा है कि क्या आप कॉलर, एक सेलेरी कस्टम राउटर, या एक्सचेंज तंत्र द्वारा रूटिंग को संभालना चाहते हैं। यह सच है कि खरगोश विन्यास सेलेरी के लिए "अदृश्य" हो सकता है लेकिन इसका मतलब यह नहीं है कि उनके पास उपयोगी प्रभाव नहीं है। –

21

सेलेरी मूल रूप से आपके द्वारा किए गए कार्यों को करने के लिए एक अच्छा इंटरफ़ेस प्रदान करता है, और आपके लिए सभी कॉन्फ़िगरेशन से संबंधित है। हाँ आप इसे हाथ से कर सकते हैं, लेकिन आप सिर्फ अजवाइन को फिर से लिखना चाहते हैं।

+5

ऑपरेशन तत्व भी है। सेलेरी के विशाल हिस्सों में विश्वसनीयता के लिए है (उदाहरण के लिए जब कोई विशेष अपवाद सीरियलाइज्ड होता है तो दुर्घटनाग्रस्त नहीं होता है), और श्रमिकों के प्रबंधन और श्रमिकों के समूह। – asksol

संबंधित मुद्दे