ज़ीरोएमक्यू: Difference between revisions

From Vigyanwiki
(Created page with "{{Primary sources|date=July 2010}} {{Infobox software | name = | logo = <!-- [[File: ]] --> | author = | developer = iMatix | released = <!-- {{Start date|YYYY|MM|DD}} --> |...")
 
No edit summary
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Primary sources|date=July 2010}}
{{Infobox software
{{Infobox software
| name =  
| name =  
Line 18: Line 17:
}}
}}


ZeroMQ (जिसे ØMQ, 0MQ या ZMQ भी लिखा जाता है) एक अतुल्यकालिक [[संदेश देना]] लाइब्रेरी है, जिसका उद्देश्य वितरित एप्लिकेशन या समवर्ती अनुप्रयोगों में उपयोग करना है। यह एक संदेश कतार प्रदान करता है, लेकिन [[संदेश-उन्मुख मिडलवेयर]] के विपरीत, एक ज़ीरोएमक्यू सिस्टम एक समर्पित [[संदेश दलाल]] के बिना चल सकता है; नाम में शून्य शून्य ब्रोकर के लिए है।<ref>{{Cite web|url=https://zeromq.org/get-started/|title = Get started}}</ref> लाइब्रेरी का एपीआई [[बर्कले सॉकेट]] के समान डिज़ाइन किया गया है।
'''जीरोएमक्यू''' (जिसे ØMQ, 0MQ या ZMQ भी लिखा जाता है) अतुल्यकालिक [[संदेश देना|मैसेजिंग लाइब्रेरी]] है, इस प्रकार से जिसका उद्देश्य वितरित एप्लिकेशन या समवर्ती अनुप्रयोगों में उपयोग करना है। यह मेसेज क्यू प्रदान करता है, किन्तु [[संदेश-उन्मुख मिडलवेयर|मेसेज-ओरिएंटेड मिडलवेयर]] के विपरीत, ज़ीरोएमक्यू सिस्टम समर्पित [[संदेश दलाल|मेसेज ब्रोकर]] के बिना चल सकता है; नाम में शून्य शून्य ब्रोकर के लिए है।<ref>{{Cite web|url=https://zeromq.org/get-started/|title = Get started}}</ref> अतः लाइब्रेरी का एपीआई [[बर्कले सॉकेट]] के समान डिज़ाइन किया गया है।


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


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


मूल ZeroMQ पैटर्न हैं:
अतः बेसिक जीरोएमक्यू पैटर्न हैं:
;अनुरोध–प्रतिक्रिया|अनुरोध–उत्तर
;रिक्वेस्ट-रिप्लाई
:ग्राहकों के एक समूह को सेवाओं के एक समूह से जोड़ता है। यह एक दूरस्थ प्रक्रिया कॉल और कार्य वितरण पैटर्न है।
:इस प्रकार से क्लाइंट्स के समूह को सेवाओं के समूह से जोड़ता है। यह रिमोट प्रोसेडीयूर कॉल और कार्य डिस्ट्रीबियूसन पैटर्न है।
;प्रकाशित करें-सदस्यता लें पैटर्न|प्रकाशित करें-सदस्यता लें
;पब्लिश-सब्सक्राइब
:प्रकाशकों के एक समूह को ग्राहकों के एक समूह से जोड़ता है। यह एक डेटा वितरण पैटर्न है.
:प्रकाशकों के समूह को क्लाइंट्स के समूह से जोड़ता है। यह डेटा डिस्ट्रीबियूसन पैटर्न है.
;पुश-पुल (पाइपलाइन)
;पुश-पुल (पाइपलाइन)
:नोड्स को फैन-आउट/फैन-इन पैटर्न में जोड़ता है जिसमें कई चरण और लूप हो सकते हैं। यह एक [[समानांतर कंप्यूटिंग]] कार्य वितरण और संग्रह पैटर्न है।
:इस प्रकार से नोड्स को फैन-आउट/फैन-इन पैटर्न में जोड़ता है जिसमें मल्टीपल स्टेप और लूप हो सकते हैं। यह [[समानांतर कंप्यूटिंग|पैरेलल कंप्यूटिंग]] कार्य डिस्ट्रीबियूसन और कलेक्शन पैटर्न है।
;विशेष जोड़ी
;एक्सक्लुसिव पेयर
:दो सॉकेट को एक विशेष जोड़ी में जोड़ता है। (यह विशिष्ट उपयोग के मामलों के लिए एक उन्नत निम्न-स्तरीय पैटर्न है।)
:अतः दो सॉकेट को एक्सक्लुसिव पेयर में कनेक्ट करता है। (यह विशिष्ट उपयोग के स्तिथियों के लिए एडवांस लो-लेवल पैटर्न है।)


प्रत्येक पैटर्न एक विशेष नेटवर्क टोपोलॉजी को परिभाषित करता है। अनुरोध-उत्तर एक तथाकथित सेवा बस को परिभाषित करता है, प्रकाशित-सदस्यता एक डेटा वितरण ट्री को परिभाषित करता है, और पुश-पुल समानांतर पाइपलाइन को परिभाषित करता है। सभी पैटर्न जानबूझकर इस तरह से डिज़ाइन किए गए हैं कि वे असीमित रूप से स्केलेबल हों और इस प्रकार इंटरनेट पैमाने पर प्रयोग करने योग्य हों।<ref>{{Cite web |url=http://www.250bpm.com/hits |title=स्केलेबिलिटी परत इंटरनेट स्टैक को प्रभावित करती है|access-date=2013-09-04 |archive-date=2019-05-28 |archive-url=https://web.archive.org/web/20190528130558/http://250bpm.com/hits |url-status=dead }}</ref>
इस प्रकार से प्रत्येक पैटर्न विशेष नेटवर्क टोपोलॉजी को परिभाषित करता है। रिक्वेस्ट-रिप्लाई तथाकथित सर्विस बस को परिभाषित करता है, पब्लिश-सब्सक्राइब डेटा डिस्ट्रीबियूसन ट्री को परिभाषित करता है, और पुश-पुल समानांतर पाइपलाइन को परिभाषित करता है। सभी पैटर्न इच्छानुसार इस तरह से डिज़ाइन किए गए हैं कि वे असीमित रूप से स्केलेबल हों और इस प्रकार इंटरनेट माप पर प्रयोग करने योग्य है।<ref>{{Cite web |url=http://www.250bpm.com/hits |title=स्केलेबिलिटी परत इंटरनेट स्टैक को प्रभावित करती है|access-date=2013-09-04 |archive-date=2019-05-28 |archive-url=https://web.archive.org/web/20190528130558/http://250bpm.com/hits |url-status=dead }}</ref>
सॉकेट के माध्यम से किसी भी संदेश को डेटा के एक अपारदर्शी [[ब्लॉब (कंप्यूटिंग)]] के रूप में माना जाता है। किसी ग्राहक को डिलीवरी को ब्लॉब लीडिंग स्ट्रिंग द्वारा स्वचालित रूप से फ़िल्टर किया जा सकता है। उपलब्ध संदेश ट्रांसपोर्ट में [[ प्रसारण नियंत्रण प्रोटोकॉल ]], [[व्यावहारिक जनरल मल्टीकास्ट]] (विश्वसनीय मल्टीकास्ट), [[ अंतःप्रक्रम संचार ]] (इंटर-प्रोसेस कम्युनिकेशन) और इंटर-थ्रेड कम्युनिकेशन (आईटीसी) शामिल हैं।


ज़ीरोएमक्यू कोर लाइब्रेरी अपने आंतरिक थ्रेडिंग मॉडल के कारण बहुत अच्छा प्रदर्शन करती है, और स्वचालित संदेश बैचिंग तकनीक का उपयोग करके थ्रूपुट के मामले में पारंपरिक टीसीपी अनुप्रयोगों को बेहतर प्रदर्शन कर सकती है।<ref>{{cite web|title=How come ØMQ has higher throughput than TCP although it's built on top of TCP?|url=http://www.zeromq.org/area:faq#toc6|work=ZeroMQ FAQ|access-date=8 June 2013}}</ref><ref name=cern>{{cite web|title=Middleware Trends And Market Leaders 2011|url=https://cds.cern.ch/record/1391410?ln=en|access-date=8 June 2013}}</ref>
सॉकेट के माध्यम से किसी भी मैसेज को डेटा के अपारदर्शी [[ब्लॉब (कंप्यूटिंग)]] के रूप में माना जाता है। किसी क्लाइंट्स को डिलीवरी को ब्लॉब लीडिंग स्ट्रिंग द्वारा स्वचालित रूप से फ़िल्टर किया जा सकता है। उपलब्ध मैसेज ट्रांसपोर्ट में [[ प्रसारण नियंत्रण प्रोटोकॉल |टीसीपी]], [[व्यावहारिक जनरल मल्टीकास्ट|पीजीएम]] (विश्वसनीय मल्टीकास्ट), [[ अंतःप्रक्रम संचार |इंटरप्रोसेस कम्युनिकेशन]] और इंटर-थ्रेड कम्युनिकेशन (आईटीसी) सम्मिलित हैं।
ZeroMQ ZMTP, ZeroMQ संदेश स्थानांतरण प्रोटोकॉल लागू करता है।<ref>{{cite web|title=ज़ीरोएमक्यू संदेश स्थानांतरण प्रोटोकॉल|url=http://rfc.zeromq.org/spec:23|access-date=8 June 2013}}</ref> ZMTP बैकवर्ड इंटरऑपरेबिलिटी, एक्स्टेंसिबल सुरक्षा तंत्र, कमांड और संदेश फ़्रेमिंग, कनेक्शन मेटाडेटा और अन्य ट्रांसपोर्ट-स्तरीय कार्यक्षमता के लिए नियमों को परिभाषित करता है। परियोजनाओं की बढ़ती संख्या पूर्ण ZeroMQ कार्यान्वयन के उपयोग के विकल्प के रूप में सीधे ZMTP को लागू करती है।<ref>{{cite web|title=GitHub Search: ZMTP|website = [[GitHub]]|url=https://github.com/search?q=zmtp&ref=cmdform|access-date=8 June 2013}}</ref>


इस प्रकार से ज़ीरोएमक्यू कोर लाइब्रेरी अपने इंटर थ्रेडिंग मॉडल के कारण बहुत अच्छा प्रदर्शन करती है, और स्वचालित मैसेज बैचिंग तकनीक का उपयोग करके थ्रूपुट के स्तिथि में पारंपरिक टीसीपी अनुप्रयोगों को उत्तम प्रदर्शन कर सकती है।<ref>{{cite web|title=How come ØMQ has higher throughput than TCP although it's built on top of TCP?|url=http://www.zeromq.org/area:faq#toc6|work=ZeroMQ FAQ|access-date=8 June 2013}}</ref><ref name="cern">{{cite web|title=Middleware Trends And Market Leaders 2011|url=https://cds.cern.ch/record/1391410?ln=en|access-date=8 June 2013}}</ref>


जीरोएमक्यू जेडएमटीपी, जीरोएमक्यू मैसेज ट्रान्सफर प्रोटोकॉल प्रयुक्त करता है।<ref>{{cite web|title=ज़ीरोएमक्यू संदेश स्थानांतरण प्रोटोकॉल|url=http://rfc.zeromq.org/spec:23|access-date=8 June 2013}}</ref>जेडएमटीपी बैकवर्ड इंटरऑपरेबिलिटी, एक्स्टेंसिबल सिक्यूरिटी मैकेनिज्म , कमांड और मैसेज फ़्रेमिंग, कनेक्शन मेटाडेटा और अन्य ट्रांसपोर्ट-स्तरीय कार्यक्षमता के लिए नियमों को परिभाषित करता है। परियोजनाओं की बढ़ती संख्या पूर्ण जीरोएमक्यू कार्यान्वयन के उपयोग के विकल्प के रूप में सीधे जेडएमटीपी को प्रयुक्त करती है।<ref>{{cite web|title=GitHub Search: ZMTP|website = [[GitHub]]|url=https://github.com/search?q=zmtp&ref=cmdform|access-date=8 June 2013}}</ref>
==इतिहास==
==इतिहास==
iMatix के सीईओ [[पीटर हिंटजेन्स]] ने मई 2007 में Zeromq.org डोमेन पंजीकृत किया और मार्टिन सुस्ट्रिक के साथ मिलकर ZeroMQ प्रोजेक्ट शुरू किया, जो दिसंबर 2011 तक इसके वास्तुकार और प्रमुख डेवलपर थे।
इमेटिक्स के सीईओ [[पीटर हिंटजेन्स]] ने मई <math>2007                                                                                                                                                                                                         </math> में Zeromq.org डोमेन पंजीकृत किया और मार्टिन सुस्ट्रिक के साथ मिलकर जीरोएमक्यू प्रोजेक्ट प्रारंभ किया, जो दिसंबर <math>2011                                                                                                                                                                                                       </math> तक इसके वास्तुकार और प्रमुख डेवलपर थे।


30 मार्च 2010 को, हिंटजेन्स ने घोषणा की कि iMatix (उन्नत संदेश कतार प्रोटोकॉल का मूल डिजाइनर) AMQP कार्यसमूह छोड़ देगा और काफी सरल और तेज़ ZeroMQ के पक्ष में AMQP/1.0 का समर्थन करने की योजना नहीं बनाई थी।<ref>{{cite web|title=iMatix will end OpenAMQ support by 2011|publisher=openamq-dev maillist|url=http://lists.openamq.org/pipermail/openamq-dev/2010-March/001598.html|access-date=5 September 2018|archive-url=https://web.archive.org/web/20160305155601/http://lists.openamq.org/pipermail/openamq-dev/2010-March/001598.html|archive-date=2016-03-05}}</ref><ref>{{cite web|title=एएमक्यूपी में क्या खराबी है (और इसे कैसे ठीक करें)|url=http://www.imatix.com/articles:whats-wrong-with-amqp|publisher=iMatix Corporation|access-date=14 July 2012}}</ref>
30 मार्च <math>2010                                                                                                                                                                                                   </math> को, हिंटजेन्स ने घोषणा की कि इमेटिक्स (उन्नत मेसेज क्यू प्रोटोकॉल का बेसिक डिजाइनर) एएमक्यूपी वर्कग्रुप छोड़ देगा और अधिक सिंपल और फास्टर जीरोएमक्यू के पक्ष में एएमक्यूपी /1.0 का समर्थन करने की योजना नहीं बनाई थी।<ref>{{cite web|title=iMatix will end OpenAMQ support by 2011|publisher=openamq-dev maillist|url=http://lists.openamq.org/pipermail/openamq-dev/2010-March/001598.html|access-date=5 September 2018|archive-url=https://web.archive.org/web/20160305155601/http://lists.openamq.org/pipermail/openamq-dev/2010-March/001598.html|archive-date=2016-03-05}}</ref><ref>{{cite web|title=एएमक्यूपी में क्या खराबी है (और इसे कैसे ठीक करें)|url=http://www.imatix.com/articles:whats-wrong-with-amqp|publisher=iMatix Corporation|access-date=14 July 2012}}</ref>
2011 में, [[CERN]], CERN त्वरक को संचालित करने के लिए उपयोग किए जाने वाले मिडलवेयर समाधानों को एकीकृत करने के तरीकों की जांच कर रहा था। CERN अध्ययन ने [[CORBA]], [[इंटरनेट संचार इंजन]], [[अपाचे थ्रिफ्ट]], ZeroMQ, YAMI4, के दो ओपन सोर्स कार्यान्वयन की तुलना की।<ref>{{cite web|title=Inspirel YAMI4|url=http://www.inspirel.com/yami4|access-date=14 July 2012}}</ref> [[रन-टाइम इन्फ्रास्ट्रक्चर (सिमुलेशन)]], और [[ अपाचे Qpid ]] (एएमक्यूपी) और इसकी बहुमुखी प्रतिभा के लिए जीरोएमक्यू को उच्चतम स्कोर मिला, जिसमें [[लिंक्सओएस]] के लिए इसकी आसान अनुकूलन क्षमता भी शामिल है।<ref name=cern />


2012 की शुरुआत में, दो मूल डेवलपर्स ने ज़ीरोएमक्यू को क्रॉसरोड्स I/O के रूप में विकसित किया।<ref>{{cite web|title=ZeroMQ and Crossroads I/O: Forking over trademarks|url=https://lwn.net/Articles/488732/|publisher=[[LWN.net]]|access-date=14 July 2012}}</ref><ref>{{cite web|title=Crossroads I/O|url=http://www.crossroads.io/|access-date=14 July 2012}}</ref> मार्टिन सस्ट्रिक ने नैनोएमएसजी शुरू किया है,<ref>{{cite web|title=nanomsg|url=http://nanomsg.org/|access-date=8 June 2013}}</ref> ZeroMQ कोर लाइब्रेरी का पुनर्लेखन।<ref>{{cite web|title=Why should I [sic] have written ZeroMQ in C, not C++|url=http://250bpm.com/blog:4}}</ref>
2011 में, [[CERN|सीईआरएन]], सीईआरएन एक्सीलेटर को संचालित करने के लिए उपयोग किए जाने वाले मिडलवेयर समाधानों को एकीकृत करने के विधियों की जांच कर रहा था। सीईआरएन अध्ययन ने [[CORBA|कोरबा]], [[इंटरनेट संचार इंजन|इंटरनेट कोम्मुनिकेटिंग इंजन]], [[अपाचे थ्रिफ्ट]], जीरोएमक्यू, यामी4, के दो ओपन सोर्स कार्यान्वयन की तुलना की है।<ref>{{cite web|title=Inspirel YAMI4|url=http://www.inspirel.com/yami4|access-date=14 July 2012}}</ref> [[रन-टाइम इन्फ्रास्ट्रक्चर (सिमुलेशन)]], और [[ अपाचे Qpid |अपाचे क्यूपीआईडी]] (एएमक्यूपी) और इसकी बहुमुखी प्रतिभा के लिए जीरोएमक्यू को उच्चतम स्कोर मिला, जिसमें [[लिंक्सओएस]] के लिए इसकी सरल अनुकूलन क्षमता भी सम्मिलित है।<ref name="cern" />
अगस्त 2012 में, डोंगमिन यू ने ज़ीरोएमक्यू, जेरोएमक्यू के अपने शुद्ध जावा रूपांतरण की घोषणा की।<ref>{{cite web|title=ज़ेरोमैक - गो पोंजो ज़ेरोमैक|publisher=zeromq-dev mailing list|url=http://lists.zeromq.org/pipermail/zeromq-dev/2012-August/018265.html|access-date=23 May 2013|archive-date=31 July 2013|archive-url=https://web.archive.org/web/20130731225620/http://lists.zeromq.org/pipermail/zeromq-dev/2012-August/018265.html|url-status=dead}}</ref> इसने ZeroMQ के पूर्ण-देशी पोर्टों को प्रेरित किया है, जैसे C# के लिए NetMQ<ref>{{cite web|title=नेटएमक्यू|publisher=GitHub|url=https://github.com/zeromq/netmq|access-date=23 May 2013}}</ref> और zmq.rs
 
जंग के लिए.<ref>{{cite web|title=जंक.रस|publisher=GitHub|url=https://github.com/zeromq/जंक.रस|access-date=24 Oct 2020}}</ref>
2012 की प्रारंभ में, दो बेसिक डेवलपर्स ने ज़ीरोएमक्यू को क्रॉसरोड्स I/O के रूप में विकसित किया।<ref>{{cite web|title=ZeroMQ and Crossroads I/O: Forking over trademarks|url=https://lwn.net/Articles/488732/|publisher=[[LWN.net]]|access-date=14 July 2012}}</ref><ref>{{cite web|title=Crossroads I/O|url=http://www.crossroads.io/|access-date=14 July 2012}}</ref> मार्टिन सस्ट्रिक ने नैनोएमएसजी प्रारंभ किया है,<ref>{{cite web|title=nanomsg|url=http://nanomsg.org/|access-date=8 June 2013}}</ref> जीरोएमक्यू कोर लाइब्रेरी का पुनर्लेखन है।<ref>{{cite web|title=Why should I [sic] have written ZeroMQ in C, not C++|url=http://250bpm.com/blog:4}}</ref>
मार्च 2013 में, पीटर हिंटजेन्स ने ज़ीरोएमक्यू में एक्स्टेंसिबल सुरक्षा तंत्र लाने के लिए ज़ेडएमटीपी वायर-लेवल प्रोटोकॉल के एक नए मसौदे की घोषणा की।<ref>{{cite web|title=Securing ZeroMQ: draft ZMTP v3.0 Protocol|publisher=Hintjens.com|url=http://hintjens.com/blog:39|access-date=23 May 2013}}</ref> मार्टिन हर्टन ने कर्वZMQ प्रमाणीकरण और एन्क्रिप्शन तंत्र लागू किया<ref>[http://curvezmq.org curvezmq.org]</ref> कुछ ही समय बाद मुख्य पुस्तकालय में।
 
अगस्त 2012 में, डोंगमिन यू ने ज़ीरोएमक्यू, जेरोएमक्यू के अपने प्योर जावा कन्वर्शन की घोषणा की।<ref>{{cite web|title=ज़ेरोमैक - गो पोंजो ज़ेरोमैक|publisher=zeromq-dev mailing list|url=http://lists.zeromq.org/pipermail/zeromq-dev/2012-August/018265.html|access-date=23 May 2013|archive-date=31 July 2013|archive-url=https://web.archive.org/web/20130731225620/http://lists.zeromq.org/pipermail/zeromq-dev/2012-August/018265.html|url-status=dead}}</ref> इसने जीरोएमक्यू के पूर्ण-नेटिव पोर्टों को प्रेरित किया है, जैसे सी# के लिए नेटएमक्यू<ref>{{cite web|title=नेटएमक्यू|publisher=GitHub|url=https://github.com/zeromq/netmq|access-date=23 May 2013}}</ref> और zmq.rs रस्ट के लिए.<ref>{{cite web|title=जंक.रस|publisher=GitHub|url=https://github.com/zeromq/जंक.रस|access-date=24 Oct 2020}}</ref>
 
मार्च 2013 में, पीटर हिंटजेन्स ने ज़ीरोएमक्यू में एक्स्टेंसिबल सिक्यूरिटी मैकेनिज्म लाने के लिए ज़ेडएमटीपी वायर-लेवल प्रोटोकॉल के नए ड्राफ्ट की घोषणा की।<ref>{{cite web|title=Securing ZeroMQ: draft ZMTP v3.0 Protocol|publisher=Hintjens.com|url=http://hintjens.com/blog:39|access-date=23 May 2013}}</ref> मार्टिन हर्टन ने कर्वजेडएमक्यू प्रमाणीकरण और एन्क्रिप्शन तंत्र प्रयुक्त किया<ref>[http://curvezmq.org curvezmq.org]</ref> कुछ ही समय के पश्चात मुख्य लाइब्रेरी में प्रयुक्त किया गया है।


==विकास प्रक्रिया==
==विकास प्रक्रिया==
ZeroMQ समुदाय अधिकतर सामूहिक कोड निर्माण अनुबंध (C4) का उपयोग करता है<ref>{{cite web|url=http://rfc.zeromq.org/spec:22|title=Collective Code Construction Contract (C4.1)|work=ZeroMQ RFCs|access-date=23 May 2013}}</ref> एक विकास अनुबंध के रूप में. C4 [[विकिपीडिया]] प्रक्रियाओं और [[GitHub]] के फोर्क + [[पुल अनुरोध]] मॉडल से प्रेरित है। यह नए योगदानकर्ताओं के लिए भाग लेना आसान बनाने और पुराने योगदानकर्ताओं पर निर्भरता कम करने पर केंद्रित है।
जीरोएमक्यू समुदाय अधिकतर सामूहिक कोड निर्माण अनुबंध (C4) का उपयोग करता है<ref>{{cite web|url=http://rfc.zeromq.org/spec:22|title=Collective Code Construction Contract (C4.1)|work=ZeroMQ RFCs|access-date=23 May 2013}}</ref> विकास अनुबंध के रूप में. सी4 [[विकिपीडिया]] प्रक्रियाओं और [[GitHub|गिटहब]] के फोर्क + पुल रिक्वेस्ट मॉडल से प्रेरित है। यह नए योगदानकर्ताओं के लिए भाग लेना सरल बनाने और पुराने योगदानकर्ताओं पर निर्भरता कम करने पर केंद्रित है।


==यह भी देखें==
==यह भी देखें==
{{Portal|Free and open-source software}} }
{{Portal|Free and open-source software}}  
*[[ इसे पहनो ]]
*[[ इसे पहनो | ज़ितामी]]
*[[ जर्मनी ]]
*[[ जर्मनी ]]
*एंडुरो/एक्स
*एंडुरो/एक्स
Line 65: Line 66:
==संदर्भ==
==संदर्भ==
{{Reflist|2}}
{{Reflist|2}}


==बाहरी संबंध==
==बाहरी संबंध==
{{external links|date=January 2017}}
*{{Official website|https://zeromq.org/}}
*{{Official website|https://zeromq.org/}}
*[https://github.com/zeromq The ØMQ community on GitHub]
*[https://github.com/zeromq The ØMQ community on GitHub]
*Martin Sustrik, Martin Lucina (January 20, 2010). [https://lwn.net/Articles/370307/ 0MQ: A new approach to messaging] – LWN.net
*Martin Sustrik, Martin Lucina (January 20, 2010). [https://lwn.net/Articles/370307/ 0MQ: A new approach to messaging] – LWN.net
*[http://vimeo.com/20605470 ZeroMQ is the Answer] (a talk at PHP UK conference 2012)
*[http://vimeo.com/20605470 जीरोएमक्यू is the Answer] (a talk at PHP UK conference 2012)
*[http://nichol.as/zeromq-an-introduction ZeroMQ an introduction]
*[http://nichol.as/zeromq-an-introduction जीरोएमक्यू an introduction]
*[https://www.youtube.com/watch?v=_JCBphyciAs Why ZeroMQ?] (introductory video)
*[https://www.youtube.com/watch?v=_JCBphyciAs Why जीरोएमक्यू?] (introductory video)
*[http://www.igvita.com/2010/09/03/zeromq-modern-fast-networking-stack/ ZeroMQ: Modern & Fast Networking Stack] (overview with Ruby examples)
*[http://www.igvita.com/2010/09/03/zeromq-modern-fast-networking-stack/ जीरोएमक्यू: Modern & Fast Networking Stack] (overview with Ruby examples)
*[http://www.250bpm.com/concepts ØMQ: The Theoretical Foundation]
*[http://www.250bpm.com/concepts ØMQ: The Theoretical Foundation]


{{Message-oriented middleware}}
{{Message-oriented middleware}}


{{DEFAULTSORT:Omq}}[[Category: समवर्ती प्रोग्रामिंग पुस्तकालय]] [[Category: C++ में प्रोग्राम किया गया निःशुल्क सॉफ़्टवेयर]] [[Category: मुफ़्त सिस्टम सॉफ़्टवेयर]] [[Category: अंतःप्रक्रम संचार]] [[Category: संदेश-उन्मुख मिडलवेयर]] [[Category: 2007 सॉफ्टवेयर]]
{{DEFAULTSORT:Omq}}
 
 


[[Category: Machine Translated Page]]
[[Category:2007 सॉफ्टवेयर|Omq]]
[[Category:Created On 24/07/2023]]
[[Category:C++ में प्रोग्राम किया गया निःशुल्क सॉफ़्टवेयर|Omq]]
[[Category:Created On 24/07/2023|Omq]]
[[Category:Machine Translated Page|Omq]]
[[Category:Official website not in Wikidata|Omq]]
[[Category:Pages with empty portal template|Omq]]
[[Category:Pages with script errors|Omq]]
[[Category:Portal templates with redlinked portals|Omq]]
[[Category:Templates Vigyan Ready|Omq]]
[[Category:अंतःप्रक्रम संचार|Omq]]
[[Category:मुफ़्त सिस्टम सॉफ़्टवेयर|Omq]]
[[Category:संदेश-उन्मुख मिडलवेयर|Omq]]
[[Category:समवर्ती प्रोग्रामिंग पुस्तकालय|Omq]]

Latest revision as of 15:27, 31 July 2023

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.; Error: first parameter cannot be parsed as a date or time. (Script error: The module returned a nil value. It is supposed to return an export table.)
Written inC++
PlatformCross-platform
TypeMessage queue, concurrency framework
LicenseMPL-2.0[1]
Websitezeromq.org

जीरोएमक्यू (जिसे ØMQ, 0MQ या ZMQ भी लिखा जाता है) अतुल्यकालिक मैसेजिंग लाइब्रेरी है, इस प्रकार से जिसका उद्देश्य वितरित एप्लिकेशन या समवर्ती अनुप्रयोगों में उपयोग करना है। यह मेसेज क्यू प्रदान करता है, किन्तु मेसेज-ओरिएंटेड मिडलवेयर के विपरीत, ज़ीरोएमक्यू सिस्टम समर्पित मेसेज ब्रोकर के बिना चल सकता है; नाम में शून्य शून्य ब्रोकर के लिए है।[2] अतः लाइब्रेरी का एपीआई बर्कले सॉकेट के समान डिज़ाइन किया गया है।

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

टेक्नोलॉजी

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

अतः बेसिक जीरोएमक्यू पैटर्न हैं:

रिक्वेस्ट-रिप्लाई
इस प्रकार से क्लाइंट्स के समूह को सेवाओं के समूह से जोड़ता है। यह रिमोट प्रोसेडीयूर कॉल और कार्य डिस्ट्रीबियूसन पैटर्न है।
पब्लिश-सब्सक्राइब
प्रकाशकों के समूह को क्लाइंट्स के समूह से जोड़ता है। यह डेटा डिस्ट्रीबियूसन पैटर्न है.
पुश-पुल (पाइपलाइन)
इस प्रकार से नोड्स को फैन-आउट/फैन-इन पैटर्न में जोड़ता है जिसमें मल्टीपल स्टेप और लूप हो सकते हैं। यह पैरेलल कंप्यूटिंग कार्य डिस्ट्रीबियूसन और कलेक्शन पैटर्न है।
एक्सक्लुसिव पेयर
अतः दो सॉकेट को एक्सक्लुसिव पेयर में कनेक्ट करता है। (यह विशिष्ट उपयोग के स्तिथियों के लिए एडवांस लो-लेवल पैटर्न है।)

इस प्रकार से प्रत्येक पैटर्न विशेष नेटवर्क टोपोलॉजी को परिभाषित करता है। रिक्वेस्ट-रिप्लाई तथाकथित सर्विस बस को परिभाषित करता है, पब्लिश-सब्सक्राइब डेटा डिस्ट्रीबियूसन ट्री को परिभाषित करता है, और पुश-पुल समानांतर पाइपलाइन को परिभाषित करता है। सभी पैटर्न इच्छानुसार इस तरह से डिज़ाइन किए गए हैं कि वे असीमित रूप से स्केलेबल हों और इस प्रकार इंटरनेट माप पर प्रयोग करने योग्य है।[3]

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

इस प्रकार से ज़ीरोएमक्यू कोर लाइब्रेरी अपने इंटर थ्रेडिंग मॉडल के कारण बहुत अच्छा प्रदर्शन करती है, और स्वचालित मैसेज बैचिंग तकनीक का उपयोग करके थ्रूपुट के स्तिथि में पारंपरिक टीसीपी अनुप्रयोगों को उत्तम प्रदर्शन कर सकती है।[4][5]

जीरोएमक्यू जेडएमटीपी, जीरोएमक्यू मैसेज ट्रान्सफर प्रोटोकॉल प्रयुक्त करता है।[6]जेडएमटीपी बैकवर्ड इंटरऑपरेबिलिटी, एक्स्टेंसिबल सिक्यूरिटी मैकेनिज्म , कमांड और मैसेज फ़्रेमिंग, कनेक्शन मेटाडेटा और अन्य ट्रांसपोर्ट-स्तरीय कार्यक्षमता के लिए नियमों को परिभाषित करता है। परियोजनाओं की बढ़ती संख्या पूर्ण जीरोएमक्यू कार्यान्वयन के उपयोग के विकल्प के रूप में सीधे जेडएमटीपी को प्रयुक्त करती है।[7]

इतिहास

इमेटिक्स के सीईओ पीटर हिंटजेन्स ने मई में Zeromq.org डोमेन पंजीकृत किया और मार्टिन सुस्ट्रिक के साथ मिलकर जीरोएमक्यू प्रोजेक्ट प्रारंभ किया, जो दिसंबर तक इसके वास्तुकार और प्रमुख डेवलपर थे।

30 मार्च को, हिंटजेन्स ने घोषणा की कि इमेटिक्स (उन्नत मेसेज क्यू प्रोटोकॉल का बेसिक डिजाइनर) एएमक्यूपी वर्कग्रुप छोड़ देगा और अधिक सिंपल और फास्टर जीरोएमक्यू के पक्ष में एएमक्यूपी /1.0 का समर्थन करने की योजना नहीं बनाई थी।[8][9]

2011 में, सीईआरएन, सीईआरएन एक्सीलेटर को संचालित करने के लिए उपयोग किए जाने वाले मिडलवेयर समाधानों को एकीकृत करने के विधियों की जांच कर रहा था। सीईआरएन अध्ययन ने कोरबा, इंटरनेट कोम्मुनिकेटिंग इंजन, अपाचे थ्रिफ्ट, जीरोएमक्यू, यामी4, के दो ओपन सोर्स कार्यान्वयन की तुलना की है।[10] रन-टाइम इन्फ्रास्ट्रक्चर (सिमुलेशन), और अपाचे क्यूपीआईडी (एएमक्यूपी) और इसकी बहुमुखी प्रतिभा के लिए जीरोएमक्यू को उच्चतम स्कोर मिला, जिसमें लिंक्सओएस के लिए इसकी सरल अनुकूलन क्षमता भी सम्मिलित है।[5]

2012 की प्रारंभ में, दो बेसिक डेवलपर्स ने ज़ीरोएमक्यू को क्रॉसरोड्स I/O के रूप में विकसित किया।[11][12] मार्टिन सस्ट्रिक ने नैनोएमएसजी प्रारंभ किया है,[13] जीरोएमक्यू कोर लाइब्रेरी का पुनर्लेखन है।[14]

अगस्त 2012 में, डोंगमिन यू ने ज़ीरोएमक्यू, जेरोएमक्यू के अपने प्योर जावा कन्वर्शन की घोषणा की।[15] इसने जीरोएमक्यू के पूर्ण-नेटिव पोर्टों को प्रेरित किया है, जैसे सी# के लिए नेटएमक्यू[16] और zmq.rs रस्ट के लिए.[17]

मार्च 2013 में, पीटर हिंटजेन्स ने ज़ीरोएमक्यू में एक्स्टेंसिबल सिक्यूरिटी मैकेनिज्म लाने के लिए ज़ेडएमटीपी वायर-लेवल प्रोटोकॉल के नए ड्राफ्ट की घोषणा की।[18] मार्टिन हर्टन ने कर्वजेडएमक्यू प्रमाणीकरण और एन्क्रिप्शन तंत्र प्रयुक्त किया[19] कुछ ही समय के पश्चात मुख्य लाइब्रेरी में प्रयुक्त किया गया है।

विकास प्रक्रिया

जीरोएमक्यू समुदाय अधिकतर सामूहिक कोड निर्माण अनुबंध (C4) का उपयोग करता है[20] विकास अनुबंध के रूप में. सी4 विकिपीडिया प्रक्रियाओं और गिटहब के फोर्क + पुल रिक्वेस्ट मॉडल से प्रेरित है। यह नए योगदानकर्ताओं के लिए भाग लेना सरल बनाने और पुराने योगदानकर्ताओं पर निर्भरता कम करने पर केंद्रित है।

यह भी देखें

संदर्भ

  1. "ØMQ Licensing". Retrieved 8 June 2023.
  2. "Get started".
  3. "स्केलेबिलिटी परत इंटरनेट स्टैक को प्रभावित करती है". Archived from the original on 2019-05-28. Retrieved 2013-09-04.
  4. "How come ØMQ has higher throughput than TCP although it's built on top of TCP?". ZeroMQ FAQ. Retrieved 8 June 2013.
  5. 5.0 5.1 "Middleware Trends And Market Leaders 2011". Retrieved 8 June 2013.
  6. "ज़ीरोएमक्यू संदेश स्थानांतरण प्रोटोकॉल". Retrieved 8 June 2013.
  7. "GitHub Search: ZMTP". GitHub. Retrieved 8 June 2013.
  8. "iMatix will end OpenAMQ support by 2011". openamq-dev maillist. Archived from the original on 2016-03-05. Retrieved 5 September 2018.
  9. "एएमक्यूपी में क्या खराबी है (और इसे कैसे ठीक करें)". iMatix Corporation. Retrieved 14 July 2012.
  10. "Inspirel YAMI4". Retrieved 14 July 2012.
  11. "ZeroMQ and Crossroads I/O: Forking over trademarks". LWN.net. Retrieved 14 July 2012.
  12. "Crossroads I/O". Retrieved 14 July 2012.
  13. "nanomsg". Retrieved 8 June 2013.
  14. "Why should I [sic] have written ZeroMQ in C, not C++".
  15. "ज़ेरोमैक - गो पोंजो ज़ेरोमैक". zeromq-dev mailing list. Archived from the original on 31 July 2013. Retrieved 23 May 2013.
  16. "नेटएमक्यू". GitHub. Retrieved 23 May 2013.
  17. "जंक.रस". GitHub. Retrieved 24 Oct 2020.
  18. "Securing ZeroMQ: draft ZMTP v3.0 Protocol". Hintjens.com. Retrieved 23 May 2013.
  19. curvezmq.org
  20. "Collective Code Construction Contract (C4.1)". ZeroMQ RFCs. Retrieved 23 May 2013.

बाहरी संबंध