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

From Vigyanwiki
No edit summary
No edit summary
 
(3 intermediate revisions by 3 users not shown)
Line 17: Line 17:
}}
}}


'''जीरोएमक्यू''' (जिसे Ø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> अतः लाइब्रेरी का एपीआई [[बर्कले सॉकेट]] के समान डिज़ाइन किया गया है।


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


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


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


इस प्रकार से प्रत्येक पैटर्न विशेष नेटवर्क टोपोलॉजी को परिभाषित करता है। रिक्वेस्ट-रिप्लाई तथाकथित सर्विस बस को परिभाषित करता है, पब्लिश-सब्सक्राइब डेटा डिस्ट्रीबियूसन ट्री को परिभाषित करता है, और पुश-पुल समानांतर पाइपलाइन को परिभाषित करता है। सभी पैटर्न इच्छानुसार इस तरह से डिज़ाइन किए गए हैं कि वे असीमित रूप से स्केलेबल हों और इस प्रकार इंटरनेट माप पर प्रयोग करने योग्य है।<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>
इस प्रकार से ज़ीरोएमक्यू कोर लाइब्रेरी अपने इंटर थ्रेडिंग मॉडल के कारण बहुत अच्छा प्रदर्शन करती है, और स्वचालित मैसेज बैचिंग तकनीक का उपयोग करके थ्रूपुट के स्तिथि में पारंपरिक टीसीपी अनुप्रयोगों को उत्तम प्रदर्शन कर सकती है।<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>
जीरोएमक्यू जेडएमटीपी, जीरोएमक्यू मैसेज ट्रान्सफर प्रोटोकॉल प्रयुक्त करता है।<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>
==इतिहास==
==इतिहास==
इमेटिक्स के सीईओ [[पीटर हिंटजेन्स]] ने मई <math>2007                                                                                                                                                                                                          </math> में Zeromq.org डोमेन पंजीकृत किया और मार्टिन सुस्ट्रिक के साथ मिलकर जीरोएमक्यू प्रोजेक्ट प्रारंभ किया, जो दिसंबर <math>2011                                                                                                                                                                                                        </math> तक इसके वास्तुकार और प्रमुख डेवलपर थे।
इमेटिक्स के सीईओ [[पीटर हिंटजेन्स]] ने मई <math>2007                                                                                                                                                                                                          </math> में Zeromq.org डोमेन पंजीकृत किया और मार्टिन सुस्ट्रिक के साथ मिलकर जीरोएमक्यू प्रोजेक्ट प्रारंभ किया, जो दिसंबर <math>2011                                                                                                                                                                                                        </math> तक इसके वास्तुकार और प्रमुख डेवलपर थे।


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>
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|सीईआरएन]], सीईआरएन एक्सीलेटर को संचालित करने के लिए उपयोग किए जाने वाले मिडलवेयर समाधानों को एकीकृत करने के विधियों की जांच कर रहा था। सीईआरएन अध्ययन ने [[CORBA|कोरबा]], [[इंटरनेट संचार इंजन|इंटरनेट कोम्मुनिकेटिंग इंजन]], [[अपाचे थ्रिफ्ट]], जीरोएमक्यू, यामी4, के दो ओपन सोर्स कार्यान्वयन की तुलना की है।<ref>{{cite web|title=Inspirel YAMI4|url=http://www.inspirel.com/yami4|access-date=14 July 2012}}</ref> [[रन-टाइम इन्फ्रास्ट्रक्चर (सिमुलेशन)]], और [[ अपाचे Qpid |अपाचे क्यूपीआईडी]] (एएमक्यूपी) और इसकी बहुमुखी प्रतिभा के लिए जीरोएमक्यू को उच्चतम स्कोर मिला, जिसमें [[लिंक्सओएस]] के लिए इसकी सरल अनुकूलन क्षमता भी सम्मिलित है।<ref name="cern" />
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 की प्रारंभ में, दो बेसिक डेवलपर्स ने ज़ीरोएमक्यू को क्रॉसरोड्स 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>
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>


अगस्त 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>
अगस्त 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> कुछ ही समय के पश्चात मुख्य लाइब्रेरी में प्रयुक्त किया गया है।
मार्च 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> कुछ ही समय के पश्चात मुख्य लाइब्रेरी में प्रयुक्त किया गया है।


==विकास प्रक्रिया==
==विकास प्रक्रिया==
Line 79: Line 79:
{{Message-oriented middleware}}
{{Message-oriented middleware}}


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


 
[[Category:2007 सॉफ्टवेयर|Omq]]
 
[[Category:C++ में प्रोग्राम किया गया निःशुल्क सॉफ़्टवेयर|Omq]]
[[Category: Machine Translated Page]]
[[Category:Created On 24/07/2023|Omq]]
[[Category:Created On 24/07/2023]]
[[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.

बाहरी संबंध