ज़ीरोएमक्यू
This article relies excessively on references to primary sources. (July 2010) (Learn how and when to remove this template message) |
Developer(s) | iMatix |
---|---|
Stable release | Script error: The module returned a nil value. It is supposed to return an export table.
/ Script error: The module returned a nil value. It is supposed to return an export table. |
Written in | C++ |
Platform | Cross-platform |
Type | Message queue, concurrency framework |
License | MPL-2.0[1] |
Website | zeromq |
ZeroMQ (जिसे ØMQ, 0MQ या ZMQ भी लिखा जाता है) एक अतुल्यकालिक संदेश देना लाइब्रेरी है, जिसका उद्देश्य वितरित एप्लिकेशन या समवर्ती अनुप्रयोगों में उपयोग करना है। यह एक संदेश कतार प्रदान करता है, लेकिन संदेश-उन्मुख मिडलवेयर के विपरीत, एक ज़ीरोएमक्यू सिस्टम एक समर्पित संदेश दलाल के बिना चल सकता है; नाम में शून्य शून्य ब्रोकर के लिए है।[2] लाइब्रेरी का एपीआई बर्कले सॉकेट के समान डिज़ाइन किया गया है।
ZeroMQ को iMatix द्वारा स्थापित योगदानकर्ताओं के एक बड़े समुदाय द्वारा विकसित किया गया है, जो डोमेन नाम और ट्रेडमार्क रखता है। कई लोकप्रिय प्रोग्रामिंग भाषाओं के लिए तृतीय-पक्ष बाइंडिंग हैं।
प्रौद्योगिकी
ज़ीरोएमक्यू एपीआई सॉकेट (पारंपरिक इंटरनेट सॉकेट और यूनिक्स डोमेन सॉकेट पर एक प्रकार का सामान्यीकरण) प्रदान करता है, जिनमें से प्रत्येक संचार समापन बिंदु के बीच कई-से-कई कनेक्शन का प्रतिनिधित्व कर सकता है। संदेश-वार ग्रैन्युलैरिटी के साथ काम करते हुए, उन्हें एक संदेश भेजने का पैटर्न का उपयोग करने की आवश्यकता होती है, और वे विशेष रूप से उस तरह के पैटर्न के लिए अनुकूलित होते हैं।
मूल ZeroMQ पैटर्न हैं:
- अनुरोध–प्रतिक्रिया|अनुरोध–उत्तर
- ग्राहकों के एक समूह को सेवाओं के एक समूह से जोड़ता है। यह एक दूरस्थ प्रक्रिया कॉल और कार्य वितरण पैटर्न है।
- प्रकाशित करें-सदस्यता लें पैटर्न|प्रकाशित करें-सदस्यता लें
- प्रकाशकों के एक समूह को ग्राहकों के एक समूह से जोड़ता है। यह एक डेटा वितरण पैटर्न है.
- पुश-पुल (पाइपलाइन)
- नोड्स को फैन-आउट/फैन-इन पैटर्न में जोड़ता है जिसमें कई चरण और लूप हो सकते हैं। यह एक समानांतर कंप्यूटिंग कार्य वितरण और संग्रह पैटर्न है।
- विशेष जोड़ी
- दो सॉकेट को एक विशेष जोड़ी में जोड़ता है। (यह विशिष्ट उपयोग के मामलों के लिए एक उन्नत निम्न-स्तरीय पैटर्न है।)
प्रत्येक पैटर्न एक विशेष नेटवर्क टोपोलॉजी को परिभाषित करता है। अनुरोध-उत्तर एक तथाकथित सेवा बस को परिभाषित करता है, प्रकाशित-सदस्यता एक डेटा वितरण ट्री को परिभाषित करता है, और पुश-पुल समानांतर पाइपलाइन को परिभाषित करता है। सभी पैटर्न जानबूझकर इस तरह से डिज़ाइन किए गए हैं कि वे असीमित रूप से स्केलेबल हों और इस प्रकार इंटरनेट पैमाने पर प्रयोग करने योग्य हों।[3] सॉकेट के माध्यम से किसी भी संदेश को डेटा के एक अपारदर्शी ब्लॉब (कंप्यूटिंग) के रूप में माना जाता है। किसी ग्राहक को डिलीवरी को ब्लॉब लीडिंग स्ट्रिंग द्वारा स्वचालित रूप से फ़िल्टर किया जा सकता है। उपलब्ध संदेश ट्रांसपोर्ट में प्रसारण नियंत्रण प्रोटोकॉल , व्यावहारिक जनरल मल्टीकास्ट (विश्वसनीय मल्टीकास्ट), अंतःप्रक्रम संचार (इंटर-प्रोसेस कम्युनिकेशन) और इंटर-थ्रेड कम्युनिकेशन (आईटीसी) शामिल हैं।
ज़ीरोएमक्यू कोर लाइब्रेरी अपने आंतरिक थ्रेडिंग मॉडल के कारण बहुत अच्छा प्रदर्शन करती है, और स्वचालित संदेश बैचिंग तकनीक का उपयोग करके थ्रूपुट के मामले में पारंपरिक टीसीपी अनुप्रयोगों को बेहतर प्रदर्शन कर सकती है।[4][5] ZeroMQ ZMTP, ZeroMQ संदेश स्थानांतरण प्रोटोकॉल लागू करता है।[6] ZMTP बैकवर्ड इंटरऑपरेबिलिटी, एक्स्टेंसिबल सुरक्षा तंत्र, कमांड और संदेश फ़्रेमिंग, कनेक्शन मेटाडेटा और अन्य ट्रांसपोर्ट-स्तरीय कार्यक्षमता के लिए नियमों को परिभाषित करता है। परियोजनाओं की बढ़ती संख्या पूर्ण ZeroMQ कार्यान्वयन के उपयोग के विकल्प के रूप में सीधे ZMTP को लागू करती है।[7]
इतिहास
iMatix के सीईओ पीटर हिंटजेन्स ने मई 2007 में Zeromq.org डोमेन पंजीकृत किया और मार्टिन सुस्ट्रिक के साथ मिलकर ZeroMQ प्रोजेक्ट शुरू किया, जो दिसंबर 2011 तक इसके वास्तुकार और प्रमुख डेवलपर थे।
30 मार्च 2010 को, हिंटजेन्स ने घोषणा की कि iMatix (उन्नत संदेश कतार प्रोटोकॉल का मूल डिजाइनर) AMQP कार्यसमूह छोड़ देगा और काफी सरल और तेज़ ZeroMQ के पक्ष में AMQP/1.0 का समर्थन करने की योजना नहीं बनाई थी।[8][9] 2011 में, CERN, CERN त्वरक को संचालित करने के लिए उपयोग किए जाने वाले मिडलवेयर समाधानों को एकीकृत करने के तरीकों की जांच कर रहा था। CERN अध्ययन ने CORBA, इंटरनेट संचार इंजन, अपाचे थ्रिफ्ट, ZeroMQ, YAMI4, के दो ओपन सोर्स कार्यान्वयन की तुलना की।[10] रन-टाइम इन्फ्रास्ट्रक्चर (सिमुलेशन), और अपाचे Qpid (एएमक्यूपी) और इसकी बहुमुखी प्रतिभा के लिए जीरोएमक्यू को उच्चतम स्कोर मिला, जिसमें लिंक्सओएस के लिए इसकी आसान अनुकूलन क्षमता भी शामिल है।[5]
2012 की शुरुआत में, दो मूल डेवलपर्स ने ज़ीरोएमक्यू को क्रॉसरोड्स I/O के रूप में विकसित किया।[11][12] मार्टिन सस्ट्रिक ने नैनोएमएसजी शुरू किया है,[13] ZeroMQ कोर लाइब्रेरी का पुनर्लेखन।[14] अगस्त 2012 में, डोंगमिन यू ने ज़ीरोएमक्यू, जेरोएमक्यू के अपने शुद्ध जावा रूपांतरण की घोषणा की।[15] इसने ZeroMQ के पूर्ण-देशी पोर्टों को प्रेरित किया है, जैसे C# के लिए NetMQ[16] और zmq.rs जंग के लिए.[17] मार्च 2013 में, पीटर हिंटजेन्स ने ज़ीरोएमक्यू में एक्स्टेंसिबल सुरक्षा तंत्र लाने के लिए ज़ेडएमटीपी वायर-लेवल प्रोटोकॉल के एक नए मसौदे की घोषणा की।[18] मार्टिन हर्टन ने कर्वZMQ प्रमाणीकरण और एन्क्रिप्शन तंत्र लागू किया[19] कुछ ही समय बाद मुख्य पुस्तकालय में।
विकास प्रक्रिया
ZeroMQ समुदाय अधिकतर सामूहिक कोड निर्माण अनुबंध (C4) का उपयोग करता है[20] एक विकास अनुबंध के रूप में. C4 विकिपीडिया प्रक्रियाओं और GitHub के फोर्क + पुल अनुरोध मॉडल से प्रेरित है। यह नए योगदानकर्ताओं के लिए भाग लेना आसान बनाने और पुराने योगदानकर्ताओं पर निर्भरता कम करने पर केंद्रित है।
यह भी देखें
}
- इसे पहनो
- जर्मनी
- एंडुरो/एक्स
- एमक्यूटीटी
संदर्भ
- ↑ "ØMQ Licensing". Retrieved 8 June 2023.
- ↑ "Get started".
- ↑ "स्केलेबिलिटी परत इंटरनेट स्टैक को प्रभावित करती है". Archived from the original on 2019-05-28. Retrieved 2013-09-04.
- ↑ "How come ØMQ has higher throughput than TCP although it's built on top of TCP?". ZeroMQ FAQ. Retrieved 8 June 2013.
- ↑ 5.0 5.1 "Middleware Trends And Market Leaders 2011". Retrieved 8 June 2013.
- ↑ "ज़ीरोएमक्यू संदेश स्थानांतरण प्रोटोकॉल". Retrieved 8 June 2013.
- ↑ "GitHub Search: ZMTP". GitHub. Retrieved 8 June 2013.
- ↑ "iMatix will end OpenAMQ support by 2011". openamq-dev maillist. Archived from the original on 2016-03-05. Retrieved 5 September 2018.
- ↑ "एएमक्यूपी में क्या खराबी है (और इसे कैसे ठीक करें)". iMatix Corporation. Retrieved 14 July 2012.
- ↑ "Inspirel YAMI4". Retrieved 14 July 2012.
- ↑ "ZeroMQ and Crossroads I/O: Forking over trademarks". LWN.net. Retrieved 14 July 2012.
- ↑ "Crossroads I/O". Retrieved 14 July 2012.
- ↑ "nanomsg". Retrieved 8 June 2013.
- ↑ "Why should I [sic] have written ZeroMQ in C, not C++".
- ↑ "ज़ेरोमैक - गो पोंजो ज़ेरोमैक". zeromq-dev mailing list. Archived from the original on 31 July 2013. Retrieved 23 May 2013.
- ↑ "नेटएमक्यू". GitHub. Retrieved 23 May 2013.
- ↑ "जंक.रस". GitHub. Retrieved 24 Oct 2020.
- ↑ "Securing ZeroMQ: draft ZMTP v3.0 Protocol". Hintjens.com. Retrieved 23 May 2013.
- ↑ curvezmq.org
- ↑ "Collective Code Construction Contract (C4.1)". ZeroMQ RFCs. Retrieved 23 May 2013.
बाहरी संबंध
This article's use of external links may not follow Wikipedia's policies or guidelines. (January 2017) (Learn how and when to remove this template message) |
- Official website
- The ØMQ community on GitHub
- Martin Sustrik, Martin Lucina (January 20, 2010). 0MQ: A new approach to messaging – LWN.net
- ZeroMQ is the Answer (a talk at PHP UK conference 2012)
- ZeroMQ an introduction
- Why ZeroMQ? (introductory video)
- ZeroMQ: Modern & Fast Networking Stack (overview with Ruby examples)
- ØMQ: The Theoretical Foundation