Redis
 sql >> डेटाबेस >  >> NoSQL >> Redis

देरी_जॉब्स बनाम रेस्क्यू बनाम बीनस्टॉकड?

मेरी परियोजनाओं के लिए मैं रेल 2 और 3 में सामूहिक विचार/देरी_जॉब के साथ बहुत सहज महसूस करूंगा। मैं बीनस्टॉकड नहीं जानता, लेकिन मैं इसे जल्द ही कोशिश करूंगा :-)। मैंने बचाव दस्तावेज में सुझावों का पालन किया है। मैं इसकी रिपोर्ट करूंगा।

Resque vs DelayedJob

Resque की तुलना DelayedJob से कैसे की जाती है, और आप एक को दूसरे के ऊपर क्यों चुनेंगे?

  • Resque कई कतारों का समर्थन करता है
  • DelayedJob बेहतर बेहतर प्राथमिकताओं का समर्थन करता है
  • रेस्क्यू कार्यकर्ता मेमोरी लीक / ब्लोट के लिए लचीला होते हैं
  • देरी से नौकरी करने वाले कर्मचारी बेहद सरल और संशोधित करने में आसान होते हैं
  • रेस्क्यू को रेडिस की आवश्यकता है
  • DelayedJob को ActiveRecord की आवश्यकता है
  • Resque केवल JSONable रूबी ऑब्जेक्ट को तर्क के रूप में एक कतार में रख सकता है
  • DelayedJob किसी भी रूबी ऑब्जेक्ट को तर्क के रूप में अपनी कतार में रख सकता है
  • Resque में क्या हो रहा है इसकी निगरानी के लिए एक सिनात्रा ऐप शामिल है
  • यदि आप एक इंटरफ़ेस जोड़ना चाहते हैं तो विलंबित जॉब को आपके रेल ऐप के भीतर से पूछताछ की जा सकती है

यदि आप रेल विकास कर रहे हैं, तो आपके पास पहले से ही एक डेटाबेस और ActiveRecord है। DelayedJob सेटअप करना बहुत आसान है और बढ़िया काम करता है। लगभग 200 मिलियन नौकरियों को संसाधित करने के लिए GitHub ने कई महीनों तक इसका उपयोग किया।

अनुरोध चुनें अगर:

  • आपको कई कतारों की आवश्यकता है
  • आप संख्यात्मक प्राथमिकताओं की परवाह नहीं करते / नापसंद करते हैं
  • आपको हर रूबी ऑब्जेक्ट को कभी भी जारी रखने की आवश्यकता नहीं है
  • आपके पास संभावित रूप से बड़ी कतारें हैं
  • आप देखना चाहते हैं कि क्या हो रहा है
  • आप बहुत अधिक विफलता/अराजकता की अपेक्षा करते हैं
  • आप Redis सेटअप कर सकते हैं
  • आपके पास RAM की कमी नहीं है

विलंबित नौकरी चुनें यदि:

  • आपको संख्यात्मक प्राथमिकताएं पसंद हैं
  • आप हर दिन भारी मात्रा में काम नहीं कर रहे हैं
  • आपकी कतार छोटी और फुर्तीली रहती है
  • बहुत अधिक विफलता / अराजकता नहीं है
  • आप आसानी से कतार में कुछ भी फेंकना चाहते हैं
  • आप Redis को सेटअप नहीं करना चाहते

बीनस्टॉकड चुनें अगर:

  • आपको संख्यात्मक प्राथमिकताएं पसंद हैं
  • आप बेहद तेज़ कतार चाहते हैं
  • आप अपनी RAM बर्बाद नहीं करना चाहते
  • आप बड़ी संख्या में नौकरियां देना चाहते हैं
  • आप तर्क के रूप में एक कतार में JSONable रूबी ऑब्जेक्ट्स के साथ ठीक हैं
  • आपको कई कतारों की आवश्यकता है

रेस्क्यू किसी भी तरह से "बेहतर" विलंबित नौकरी नहीं है, इसलिए सुनिश्चित करें कि आप अपने ऐप के लिए सबसे अच्छा टूल चुनें।

कतारबद्ध बैकएंड गति की एक अच्छी तुलना:

                 enqueue                work
-------------------------------------------------
delayed job |   200 jobs/sec     120 jobs/sec
resque      |  3800 jobs/sec     300 jobs/sec
rabbitmq    |  2500 jobs/sec    1300 jobs/sec
beanstalk   |  9000 jobs/sec    5200 jobs/sec

आपका दिन शुभ हो!

पी.एस. रेस्क्यू, डिलेड जॉब (संशोधित संस्करण) और बीनस्टाकल्ड के बारे में एक रेलकास्ट है। एक नज़र डालें!

पी.पी.एस. मेरी पसंदीदा choiche अब साइडकीक (बहुत ही सरल, तेज और सरल कार्यों के लिए कुशल) है, तुलना के लिए इस पृष्ठ पर एक नज़र डालें।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. रेडिस में 32 बिट हस्ताक्षरित पूर्णांक को स्टोर करने का मेमोरी कुशल तरीका

  2. Google के मानक ऐप इंजन (पायथन 3.7) से रेडिस इंस्टेंस (मेमोरीस्टोर) से कैसे कनेक्ट करें

  3. आप मूल्य के साथ चाबियों की खोज कैसे करते हैं? उदाहरण के लिए सभी कुंजी प्राप्त करें जहां मान कुछ मूल्य है

  4. प्रेस विज्ञप्ति:स्केलग्रिड ने एडब्ल्यूएस पर रेडिस ™ के लिए होस्टिंग सेवा की घोषणा की

  5. रेडिस डेटास्टोर के लिए ट्रिगर कैसे कार्यान्वित करें?