NSQ é um software de fila de mensagens distribuído de código aberto

NSQ Software de fila de mensagens grátis

Fila de mensagens distribuída em tempo real baseada em Go em tempo real

O NSQ é uma fila de mensagens distribuída em tempo real de código aberto, sem ponto de falha. É um serviço de entrega de mensagens confiável com alta disponibilidade.

Visão geral

O NSQ é uma plataforma de mensagens distribuída em tempo real em operação em uma escala. Ele lida com um grande número de mensagens todos os dias, fornecendo tolerância a falhas e alta disponibilidade com uma entrega de mensagens confiáveis. Ele fornece topologias distribuídas e descentralizadas sem pontos únicos de falha. Operacionalmente, a melhor fila de mensagens do NSQ é fácil de instalar, configurar e implantar. As mensagens NSQ podem ser JSON, MSGPACK, Buffers de protocolo ou qualquer outro formato de dados para obter a máxima flexibilidade. As bibliotecas oficiais de clientes GO e Python também estão disponíveis. Uma das metas de design do sistema de fila de mensagens NSQ é vincular o número de mensagens mantidas na memória. Tópicos, fluxo distinto de dados e canais, agrupamento lógico de fluxos ou consumidores subscritos para um determinado tópico são os principais primitivos do NSQ. O serviço de fila de mensagens NSQ é composto por 3 daemons: o NSQD é o daemon que recebe, buffers e entrega mensagens aos clientes. O NSQLookupd atende solicitações do cliente para encontrar o local dos tópicos e gerencia metadados do cluster. Ele fornece um serviço de descoberta consistente de tempo de execução para os consumidores encontrarem produtores NSQD para um tópico específico. O NSQADMIN é uma interface do usuário da Web para as tarefas administrativas em tempo real do cluster do seu cluster NSQ.

Requisitos de sistema

O corretor de mensagens simples e de código aberto NSQ é executado em:

  • Golang versão 1.13+
  • GPM versão 1.4+
  • Git

Características

Alguns dos principais recursos do software de fila de mensagens NSQ estão listados abaixo:

  • Suporta topologias distribuídas sem SPOF
  • As mensagens podem ser configuradas no modo persistente
  • NSQ adota o modo de memória e disco rígido
  • As mensagens persistem na memória quando o servidor reinicia
  • Cada mensagem é entregue pelo menos uma vez
  • Escalável horizontalmente
  • Entrega de mensagem baseada em push de baixa latência
  • Principalmente a fila de mensagens na memória
  • TLS Transport Cayer Security
  • Serviço de descoberta de tempo de execução para encontrar produtores
  • Formato de dados agnóstico
  • Interface de administração de cluster robusta
  • Código aberto

Instruções de instalação

Instale nsq no Ubuntu

O NSQ é o melhor corretor de mensagens e é fácil começar a plataforma de mensagens distribuídas em tempo real. Primeiro, verifique se todos os pacotes de dependência do NSQ estão instalados e atualizados no seu sistema. NSQ Todos os parâmetros são especificados na linha de comando e os binários NSQ compilados não têm dependência de tempo de execução. Abaixo, o guia cobre a instalação do NSQ no Debian e no Ubuntu, incluindo distribuições com base nelas. As seguintes instruções abaixo executarão um cluster NSQ em sua máquina local. O NSQ usa módulos Go para produzir construções confiáveis, portanto, use os comandos abaixo para compilar e configurar o NSQ:

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

Existem três binários separados nsqlookupd, nsqd e nsqadmin que precisam ser instalados e em execução. Então, em um shell, inicie o nsqLookUpd usando:

    nsqlookupd

No segundo shell do terminal, inicie o NSQD usando:

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

Você também pode adicionar –broadcast-address = 127.0.0.1. A maior parte da depuração, análise e administração é feita via nsqadmin. Então, comece a NSQADMIN em New Shell, executando:

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

Em seguida, publique uma mensagem inicial usando:

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

Inicie nsq_to_file em outro shell com comando:

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

Finalmente, publique mais mensagens no NSQD como:

    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'

Para testar o comando de execução no terminal:

    ./test.sh

Para depuração e monitoramento em tempo real, o comando abaixo também funciona muito bem:

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

Finalmente, no seu navegador da web favorito, aberto http://127.0.0.1:4171/ Para verificar e visualizar a interface do usuário nsqadmin e ver estatísticas. Verifique também o conteúdo dos arquivos de log (teste.*. Log) gravado no diretório /tmp. Parabéns! Você instalou com sucesso o NSQ no sistema Ubuntu. Aproveitar!

Perguntas frequentes

O que é NSQ?

O NSQ é uma plataforma de mensagens distribuída em tempo real em tempo real que lida com milhões de mensagens todos os dias. Ele fornece mensagens confiáveis ​​sem tolerância a falhas e alta disponibilidade.

O NSQ é de código aberto?

O NSQ é uma melhor fila de mensagens de código aberto e plataforma de mensagens distribuídas em tempo real. O repositório de código -fonte NSQ está disponível em Github.

O NSQ é gratuito?

O NSQ é uma plataforma de fila de mensagens distribuída gratuita e dowload.

O que é NSQ vs Kafka?

NSQ e Kafka são serviços de fila de mensagens. O NSQ é mais simples de configurar e mais fácil de implantar a plataforma de fila de mensagens, enquanto a Kafka garante garantias e confiabilidade rígidas sem perda de dados.

em que idioma nsq está escrito?

O NSQ está escrito na linguagem de programação GO.

Explore

Neste artigo, discutimos sobre a plataforma de mensagens distribuída em tempo real do NSQ. Para saber sobre outro software de fila de mensagens (MQ), visite as seguintes páginas:

Sidekiq

Apache Kafka

RabbitMQ

Resque

Salsão

Software de fila de mensagens de código aberto 5

 Português