2012-02-14 13 views
8

ज़ीरोएमक्यू कितना स्केलेबल है? मैं विशेष रूप से बड़ी संख्या (10,000 - 15,000) कोरों पर चलने की अपनी क्षमता को समझने में रूचि रखता हूं।स्केलेबल ज़ीरोएमक्यू कैसे है?

+0

http://stackoverflow.com/questions/8361738/is-zeromq-really-reliable-and-scalable –

उत्तर

9

हम इसे के रूप में संभव के रूप में स्केलेबल बनाने के लिए कोशिश की है, लेकिन मैं व्यक्तिगत रूप से 16 कोर बक्से अप करने के लिए केवल पर परीक्षण किया। उस सीमा तक हमने लगभग रैखिक स्केलिंग देखी है।

5

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

ज़ीरोएमक्यू के पास पहले से ही सबसे तेज़ संरचित मैसेजिंग प्रोटोकॉल होने की प्रतिष्ठा है, इसलिए यदि आप एक तकनीक चुनने के लिए मानक करने जा रहे हैं, तो ज़ीरोएमक निश्चित रूप से उनमें से एक होना चाहिए।

ज़ीरोएमक्यू का उपयोग करने के दो बड़े कारण इसकी उपयोग में आसान क्रॉस-भाषा एपीआई (ज़ीरोएमक्यू गाइड साइट पर सभी उदाहरण देखें) और तार पर बाइट्स के मामले में इसके निम्न ओवरहेड दोनों हैं, और इसके संदर्भ में विलंबता। उदाहरण के लिए ज़ीरोएमक्यू किसी भी टीसीपी प्रोटोकॉल की तुलना में तेजी से चलाने के लिए यूडीपी मल्टीकास्ट का लाभ उठा सकता है, लेकिन एप्लिकेशन प्रोग्रामर को एक नई एपीआई सीखने की आवश्यकता नहीं है। यह सब शामिल है।

10

आप यह उल्लेख नहीं करते कि आपके 10k या 15k कोर एक ही बॉक्स पर हैं या नहीं।

मान लीजिए कि वे हैं। प्रत्येक दो साल एक बॉक्स पर कोर की संख्या सैद्धांतिक रूप से, डबल कर सकते हैं। तो अगर हमारे पास आज 16-कोर बॉक्स हैं, तो यह 20 वर्षों में 16 के कोर होगा।

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

यदि आपका प्रश्न हो, "मैं लाभ का उपयोग कर सकते हैं जो कई अनुप्रयोगों के बीच कई कोर", जवाब/अपने ओ के साथ निहित है ZeroMQ की तुलना में अधिक है। क्या आपकी आई/ओ परत भार को संभाल सकती है? शायद हाँ।

और अपने प्रश्न है अगर, है, तो उत्तर "हां, यह पहले से ही व्यवहार में साबित हो चुका है" है "मैं 10K-16K बक्से का एक बादल के पार ZeroMQ उपयोग कर सकते हैं"।

+0

धन्यवाद पीटर, मेरा मतलब है कि एकाधिक बॉक्स में कोर फैलते हैं। क्या आप किसी भी कागजात के बारे में जानते हैं जो स्केलेबिलिटी के इस स्तर पर चर्चा करता है, या इस आकार की किसी भी संदर्भ साइट पर चर्चा करता है? –

+0

तो ओपनएएमक्यू के साथ भी हम एक ब्रोकर से बात करते हुए उत्पादन में 3K-4K बक्से (प्रत्येक एकाधिक कोर) में स्केल किए गए। यह 0 एमक्यू में किसी भी 1-एन प्रवाह के स्केलिंग का मूल स्तर है: केवल आपके ओएस को संभालने वाले सॉकेट की संख्या से ही सीमित है। –

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