NSQ नि: शुल्क संदेश कतार सॉफ्टवेयर
गो-आधारित ओपन सोर्स और रियल-टाइम डिस्ट्रीब्यूटेड मैसेज कतार
एनएसक्यू एक ओपन-सोर्स रियल-टाइम डिस्ट्रीब्यूटेड मैसेज कतार है जिसमें विफलता का एक भी बिंदु नहीं है। यह उच्च उपलब्धता के साथ एक विश्वसनीय संदेश वितरण सेवा है।
अवलोकन
NSQ एक पैमाने पर एक रियलटाइम वितरित मैसेजिंग प्लेटफॉर्म ऑपरेटिंग है। यह हर दिन बड़ी संख्या में संदेशों को संभालता है, एक विश्वसनीय संदेश वितरण के साथ गलती सहिष्णुता और उच्च उपलब्धता प्रदान करता है। यह विफलता के एकल बिंदुओं के बिना वितरित और विकेंद्रीकृत टोपोलॉजी प्रदान करता है। परिचालन रूप से, NSQ सर्वश्रेष्ठ संदेश कतार को स्थापित करना, कॉन्फ़िगर करना और तैनात करना आसान है। NSQ संदेश अधिकतम लचीलापन प्राप्त करने के लिए JSON, MSGPACK, प्रोटोकॉल बफ़र्स या किसी भी डेटा प्रारूप हो सकते हैं। आधिकारिक गो और पायथन क्लाइंट लाइब्रेरी भी उपलब्ध हैं। NSQ संदेश कतार प्रणाली के डिजाइन लक्ष्य में से एक मेमोरी में रखे गए संदेशों की संख्या को बाध्य करना है। विषय, डेटा और चैनलों की विशिष्ट धारा, किसी दिए गए विषय के लिए सब्सक्राइब किए गए धाराओं या उपभोक्ताओं के तार्किक समूहीकरण एनएसक्यू के मुख्य आदिम हैं। NSQ संदेश कतार सेवा 3 Daemons से बना है: NSQD वह डेमन है जो ग्राहकों को संदेश प्राप्त करता है, बफ़र्स और संदेश देता है। NSQLookupd विषय स्थान खोजने के लिए ग्राहक अनुरोधों को कार्य करता है और क्लस्टर मेटाडेटा का प्रबंधन करता है। यह उपभोक्ताओं के लिए एक विशिष्ट विषय के लिए NSQD उत्पादकों को खोजने के लिए रनटाइम सुसंगत खोज सेवा प्रदान करता है। NSQADMIN आपके NSQ क्लस्टर के क्लस्टर रियलटाइम प्रशासनिक कार्यों के लिए एक वेब सेवा UI है।
विशेषताएँ
NSQ संदेश कतार सॉफ्टवेयर की कुछ प्रमुख विशेषताओं को नीचे सूचीबद्ध किया गया है:
- बिना SPOF के वितरित टोपोलॉजी का समर्थन करता है
- संदेशों को लगातार मोड में कॉन्फ़िगर किया जा सकता है
- NSQ मेमोरी और हार्ड डिस्क के मोड को अपनाता है
- सर्वर पुनरारंभ होने पर संदेश मेमोरी में बने रहते हैं
- प्रत्येक संदेश कम से कम एक बार दिया जाता है
- क्षैतिज रूप से स्केलेबल
- कम विलंबता धक्का आधारित संदेश वितरण
- मुख्य रूप से इन-मेमोरी संदेश कतार
- टीएलएस ट्रांसपोर्ट लेयर सिक्योरिटी
- उत्पादकों को खोजने के लिए रनटाइम डिस्कवरी सेवा
- डेटा प्रारूप अज्ञेय
- मजबूत क्लस्टर प्रशासन इंटरफ़ेस
- खुला स्त्रोत
स्थापना निर्देश
ubuntu पर NSQ स्थापित करें
NSQ सबसे अच्छा संदेश ब्रोकर है और RealTime वितरित संदेश प्लेटफॉर्म शुरू करना आसान है। सबसे पहले, सुनिश्चित करें कि NSQ के सभी डिपेंसी पैकेज स्थापित हैं और आपके सिस्टम पर अद्यतित हैं। NSQ सभी पैरामीटर कमांड लाइन पर निर्दिष्ट किए गए हैं और संकलित NSQ बायनेरिज़ में कोई रनटाइम निर्भरता नहीं है। नीचे गाइड में डेबियन और उबंटू पर एनएसक्यू इंस्टॉलेशन शामिल है, जिसमें उनके आधार पर वितरण शामिल हैं। नीचे दिए गए निर्देश आपके स्थानीय मशीन पर एक NSQ क्लस्टर चलाएंगे। NSQ विश्वसनीय बिल्ड का उत्पादन करने के लिए GO मॉड्यूल का उपयोग करता है इसलिए संकलन के लिए नीचे आदेशों का उपयोग करें और NSQ को सेटअप करने के लिए:
git clone https://github.com/nsqio/nsq
cd nsq
make
तीन अलग -अलग बायनेरिज़ NSQLookupd, NSQD और NSQADMIN हैं जिन्हें स्थापित करने और चलाने की आवश्यकता है। तो, एक शेल में, NSQLookupd का उपयोग करना शुरू करें:
nsqlookupd
टर्मिनल के दूसरे शेल में, NSQD का उपयोग करना शुरू करें:
nsqd --lookupd-tcp-address=127.0.0.1:4160
आप-ब्रोडकास्ट-एड्रेस = 127.0.0.1 भी जोड़ सकते हैं। अधिकांश डिबगिंग, विश्लेषण और प्रशासन NSQADMIN के माध्यम से किया जाता है। तो, नए शेल में nsqadmin शुरू करें:
nsqadmin --lookupd-http-address=127.0.0.1:4161
अगला, एक प्रारंभिक संदेश प्रकाशित करें:
curl -d 'hello world 1' 'http://127.0.0.1:4151/pub?topic=test'
कमांड के साथ दूसरे शेल में NSQ_TO_FILE शुरू करें:
nsq_to_file --topic=test --output-dir=/tmp --lookupd-http-address=127.0.0.1:4161
अंत में, NSQD की तरह अधिक संदेश प्रकाशित करें:
curl -d 'hello world 2' 'http://127.0.0.1:4151/pub?topic=test'
curl -d 'hello world 3' 'http://127.0.0.1:4151/pub?topic=test'
टर्मिनल में रन कमांड का परीक्षण करने के लिए:
./test.sh
रियलटाइम डिबगिंग और नीचे की निगरानी के लिए कमांड भी बहुत अच्छी तरह से काम करता है:
watch -n 0.5 "curl -s http://127.0.0.1:4151/stats"
अंत में, अपने पसंदीदा वेब ब्राउज़र में http://127.0.0.0.1:4171/ NSQADMIN UI को सत्यापित करने और देखने और आंकड़े देखने के लिए खोलें। कृपया /TMP निर्देशिका में लिखे गए लॉग फ़ाइलों (परीक्षण।*। लॉग) की सामग्री की भी जाँच करें। बधाई हो! आपने Ubuntu सिस्टम पर NSQ को सफलतापूर्वक स्थापित किया है। आनंद लेना!
FAQs
What is NSQ?
NSQ is an open source real-time distributed messaging platform that handles millions of messages every day. It delivers reliable messages with no fault tolerance and high availability.
Is NSQ open source?
NSQ is a best open source message queue and real-time distributed messaging platform. NSQ source code repository is available at Github.
Is NSQ free?
NSQ is a free to use and dowload distributed message queue platform.
What is nsq vs kafka?
NSQ and Kafka are both message queuing services. NSQ is a simpler to configure and more easy to deploy message queue platform while Kafka ensures strict guarantees and reliability with no data loss.
In what language is NSQ written?
NSQ is written in Go programming language.