हाय
मैं सेवाओं के बीच मतभेद के बारे में कुछ जानकारी प्रदान करने की कोशिश करेंगे (इस HireFire के लेखक)। सुनिश्चित नहीं है कि यह आपके निर्णय के साथ बहुत मदद करेगा, लेकिन कम से कम यह कुछ है!
दोनों समाधान एक अलग दृष्टिकोण लेते हैं। जब आवश्यक हो तो हायरफायर केवल आपके हेरोकू वेब और कार्यकर्ता डायनोस को स्केल करता है। आपको अपने मौजूदा कोड-बेस में कुछ भी बदलने की ज़रूरत नहीं है, आप बस विलंबित नौकरी का उपयोग सामान्य के रूप में करते हैं। आपको एक अलग पर्यावरण/मंच के लिए कोड भेजने/लिखने की आवश्यकता नहीं है क्योंकि इसे तैनाती पर हेरोकू के मंच पर एक स्लग के रूप में संकलित किया गया है, और जब कोई नया वेब या वर्कर डिनो स्पिन करता है, तो स्लग का उपयोग किया जाता है और तुरंत चलता है (आपके सभी को एनवी चर/सेटिंग्स
सरलवर्कर की तुलना में हायरफ़ीयर का नकारात्मक हिस्सा यह है कि हायरफ़ीयर हेरोकू-विशिष्ट है। इसलिए यदि आप कभी भी हेरोकू से स्विच करते हैं उदाहरण के लिए इंजनयार्ड या वीपीएस/समर्पित बॉक्स, तो हायरफ़ीयर काम नहीं करेगा, लेकिन SimpleWorker चूंकि यह सख्ती से हेरोकू से बंधे नहीं है। हालांकि, गैर-पैस प्लेटफ़ॉर्म (तुलनात्मक रूप से) पर होस्ट करने के लिए शायद यह बहुत सस्ता है, इसलिए ऑटो-स्केलिंग की आवश्यकता उतनी ही आवश्यक नहीं होगी जितनी अधिक या बिल्कुल।
I HireFire और टी विकसित करने से पहले SimpleWorker का एक ग्राहक रहा है हिंग मैं व्यक्तिगत रूप से नापसंद था कि मुझे अपने कोड-बेस का हिस्सा सरलवर्कर में भागना था, और मेरे रेल पर्यावरण में लोड करना था, डेटाबेस से अपने सर्वर स्थान से फिर से कनेक्ट करना था और हर बार जब मैं भेजना चाहता हूं तो एपीआई अनुरोध (?) भी करता था क्लाउड के लिए एक नौकरी (हालांकि यह अब बदल सकता है, इसलिए मैं आपको यह सुनिश्चित करने के लिए स्वयं को जांचने के लिए प्रोत्साहित करता हूं, और शायद यह मेरे लिए एक मुद्दा नहीं है क्योंकि यह मेरे लिए था)। मेरे लिए यह हर बार बहुत ही परेशानी/परीक्षण और त्रुटि थी जब भी मैं नई नौकरी कक्षाएं जोड़ना चाहता था और मुझे अपने ऐप और मेरे रत्नों से कोड के सभी अलग-अलग टुकड़ों में लोड करना था, जबकि नौकरी कक्षा फाइलों में ही, heroku ps:workers 1
चला रहा था या heroku ps:scale worker=2
तुरंत एक कार्यकर्ता या दो को स्पिन करेगा और मेरे कोड बेस पर शून्य संशोधनों के साथ प्रसंस्करण शुरू कर देगा, ठीक उसी तरह जब मैं इसे स्थानीय रूप से चलाता हूं, क्योंकि मेरा पूरा ऐप पहले से ही हेरोकू पर एक स्लग के रूप में संकलित है, यह केवल मेरे एनवी सहित चर और अन्य सेटिंग्स/एडॉन्स, और यह तेजी से फैलता है।
HireFire साथ
आप बस, अपने Gemfile को the hirefireapp gem जोड़ने अपने Heroku खाता जोड़ने के लिए/HireFire वेब इंटरफेस के लिए आवेदन, अपने स्केलिंग जरूरतों को अनुकूलित Heroku के लिए आपके आवेदन की तैनाती की जरूरत है, और बस इतना ही। आपके अनुप्रयोगों की लगातार निगरानी और प्रबंधन/समायोजित किया जाएगा (मिनट या उससे कम तक)।
हायरफ़ीयर नौकरियों और उनकी स्थिति (चलने/समाप्त/असफल/आदि) के साथ एक चिकना इंटरफ़ेस के साथ नहीं आता है (इसमें वर्तमान वेब/कार्यकर्ता dynos की वर्तमान मात्रा का एक सिंहावलोकन है और प्रत्येक ऐप के लिए कतारबद्ध नौकरियां हैं बेशक, और अनुकूलन स्केलिंग सेटिंग्स), हालांकि यह वास्तव में कार्यकर्ता पुस्तकालय का काम ऐसी कार्यक्षमता प्रदान करने के लिए है। जो मुझे पता है उससे विलंबित नौकरी में एक या दो छोटे व्यवस्थापक इंटरफेस हैं जिनका आप उपयोग कर सकते हैं (ओपन सोर्स) जो कि हायरफायर से बंधे नहीं हैं। क्योंकि SimpleWorker यह एक होस्टेड सेवा, साथ ही साथ एक वर्कर लाइब्रेरी दोनों में, वे आपको एक वेब इंटरफेस भी प्रदान करते हैं।
हायरफ़ीयर में आपके वेब डिनो को स्केल करने की क्षमता भी है, न केवल आपके कार्यकर्ता dynos।
दोनों सेवाओं में समानांतर में बहुत सी नौकरियों को संसाधित करने की क्षमता है, क्योंकि हेरोोकू और सरलवर्कर दोनों जो मुझे समझते हैं, उससे दूसरे के लिए प्रो-रेटेड हैं। तो क्या आप 6 सेकंड के लिए 10 कार्यकर्ता डायनोस को स्पिन करते हैं, या 60 सेकंड के लिए 1 लागत में कोई फर्क नहीं पड़ता (या मुश्किल से)।
मैंने खुद को हायरफ़ीयर जारी करने के बाद सरलवर्कर का उपयोग नहीं किया है, जो कुछ समय पहले था इसलिए मुझे यकीन नहीं है कि सरलवर्कर इन दिनों क्या प्रदान करता है या यदि वे तब से प्रक्रिया को सरल बनाते हैं, तो मुझे यकीन नहीं है कि क्या मेरे द्वारा किए गए उपरोक्त बयान अभी भी इस समय मान्य हैं।
आशा है कि इससे मदद मिलती है!
माइकल, आपके विस्तृत उत्तर के लिए बहुत बहुत धन्यवाद! – sscirrus
आपका स्वागत है! –