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.