NSQ yra atvirojo kodo paskirstytas pranešimų eilės programinė įranga

NSQ Nemokama pranešimų eilės programinė įranga

„Go“ pagrįstas atvirojo kodo ir realiojo laiko paskirstyto pranešimo eilės

NSQ yra atvirojo kodo realiojo laiko paskirstyta pranešimų eilutė, kurioje nėra vieno gedimo taško. Tai patikima pranešimų pristatymo paslauga, turinti didelę prieinamumą.

Apžvalga

NSQ yra realiojo laiko paskirstyta žinučių siuntimo platforma, operatng. Jis kiekvieną dieną tvarko daugybę pranešimų, suteikdama toleranciją gedimams ir dideliam prieinamumui patikimų pranešimų pristatymui. Jame yra paskirstytos ir decentralizuotos topologijos be pavienių gedimo taškų. Operatyviai NSQ geriausios pranešimų eilę lengva įdiegti, sukonfigūruoti ir diegti. NSQ pranešimai gali būti JSON, MSGPACK, PROTOCOL BUFFERS arba bet kuris kitas duomenų formatas, kad būtų pasiektas maksimalus lankstumas. Taip pat yra oficialių „Go“ ir „Python“ klientų bibliotekų. Vienas iš NSQ pranešimų eilės sistemos projektavimo tikslo yra surišti atmintyje laikomų pranešimų skaičių. Temos, atskiras duomenų ir kanalų srautas, loginis srautų grupavimas ar vartotojai, užsiimantys tam tikra tema, yra pagrindiniai NSQ primityvai. NSQ pranešimų eilės paslaugą sudaro 3 demonai: NSQD yra demonas, kuris priima, buferius ir teikia pranešimus klientams. „NSQLOOKUPD“ teikia klientų prašymus rasti temų vietą ir tvarko klasterio metaduomenis. Tai teikia vykdymo laiko nuoseklią atradimo paslaugą vartotojams, kad būtų galima rasti NSQD gamintojus konkrečiai temai. „NSQAdmin“ yra žiniatinklio paslaugų vartotojo sąsaja, skirta „Cluster“ realaus laiko administracinėms užduotims jūsų NSQ klasteriui.

Sistemos reikalavimai

NSQ paprastas ir atvirojo kodo pranešimų brokeris veikia toliau:

  • „Golang“ versija 1.13+
  • GPM 1.4+ versija
  • Git

Funkcijos

Kai kurios pagrindinės NSQ pranešimų eilės programinės įrangos funkcijos yra išvardytos žemiau:

  • Palaiko paskirstytas topologijas be SPOF
  • Pranešimus galima sukonfigūruoti nuolatiniu režimu
  • NSQ priima atminties ir standžiojo disko režimą
  • Pranešimai išlieka atmintyje, kai serveris paleidžiamas iš naujo
  • Kiekvienas pranešimas pateikiamas bent kartą
  • Horizontaliai keičiamas
  • Mažo latentinio stumiamo pranešimo pristatymas
  • Pirmiausia atmintyje pranešimai eilėje
  • TLS transporto sluoksnio apsauga
  • Runtime Discovery Service, norint rasti gamintojus
  • Duomenų formatas Agnostic
  • Tvirta klasterio administravimo sąsaja
  • Atviro kodo

Diegimo instrukcijos

Įdiekite NSQ ant ubuntu

NSQ yra geriausias pranešimų brokeris ir lengvai pradedamas „RealTime“ platinama žinučių siuntimo platforma. Pirmiausia įsitikinkite, kad jūsų sistemoje yra įdiegti visi NSQ nuoseklumo paketai ir atnaujinti. NSQ Visi parametrai yra nurodyti komandinės eilutėje ir sudarytos NSQ dvejetainiai failai neturi priklausomybės nuo vykdymo laiko. Žemiau vadove apima NSQ diegimą Debian ir Ubuntu, įskaitant paskirstymus, pagrįstus jais. Toliau pateiktose instrukcijose bus vykdoma NSQ klasteris jūsų vietiniame kompiuteryje. NSQ naudoja „Go“ modulius, kad sukurtų patikimus konstrukcijas, todėl naudokite žemiau esančias komandas, skirtas sudaryti ir nustatyti NSQ:

    git clone https://github.com/nsqio/nsq
    cd nsq
    make

Yra trys atskiri dvejetai NSQLOOKUPD, NSQD ir NSQADMIN, kuriuos reikia įdiegti ir veikti. Taigi viename apvalkale pradėkite „NSQLOOKUPD“ naudodami:

    nsqlookupd

Antrame terminalo apvalkale pradėkite NSQD naudodami:

    nsqd --lookupd-tcp-address=127.0.0.1:4160

Taip pat galite pridėti-„Broadcast-Address“ = 127.0.0.1. Didžioji dalis derinimo, analizės ir administravimo atliekama naudojant NSQADMIN. Taigi, pradėkite „Nsqadmin“ naujame apvalkale, veikdami:

    nsqadmin --lookupd-http-address=127.0.0.1:4161

Tada paskelbkite pradinį pranešimą naudodami:

    curl -d 'hello world 1' 'http://127.0.0.1:4151/pub?topic=test'

Pradėkite NSQ_TO_FILE kitame apvalkale su komanda:

    nsq_to_file --topic=test --output-dir=/tmp --lookupd-http-address=127.0.0.1:4161

Galiausiai paskelbkite daugiau pranešimų NSQD, pavyzdžiui::

    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'

Testuojant komandą terminale:

    ./test.sh

Derinant realiojo laiko derinimą ir stebėjimą žemiau komanda taip pat veikia labai gerai:

    watch -n 0.5 "curl -s http://127.0.0.1:4151/stats"

Galiausiai jūsų mėgstamoje interneto naršyklėje atidarykite http://127.0.0.1:4171/, kad patikrintumėte ir peržiūrėtumėte NSQADMIN vartotojo sąsają ir žiūrėkite statistiką. Taip pat patikrinkite žurnalo failų turinį (testas.*. Log), įrašytą į /TMP katalogą. Sveikiname! „Ubuntu“ sistemoje sėkmingai įdiegėte NSQ. Mėgautis!

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.

tyrinėti

Šiame straipsnyje aptarėme apie NSQ realiojo laiko paskirstytą pranešimų platformą. Norėdami sužinoti apie kitą pranešimų eilės (MQ) programinę įrangą, apsilankykite šiais puslapiais:

Sidekiq

„Apache Kafka“

Rabbitmq

Reskė

Salierai

5 populiariausių atvirojo kodo pranešimų eilės programinė įranga

 Latviski