NSQ Software de cola de mensajes gratis
Cola de código abierto basada en GO y cola de mensajes distribuidos en tiempo real
NSQ es una cola de mensajes distribuidos en tiempo real de código abierto sin un único punto de falla. Es un servicio de entrega de mensajes confiable con alta disponibilidad.
Descripción general
NSQ es una plataforma de mensajería distribuida en tiempo real que opera a una escala. Maneja una gran cantidad de mensajes todos los días, proporcionando tolerancia a fallas y alta disponibilidad con una entrega de mensajes confiables. Proporciona topologías distribuidas y descentralizadas sin puntos de falla únicos. Operacionalmente, la cola de mensajes de NSQ Best es fácil de instalar, configurar e implementar. Los mensajes NSQ pueden ser JSON, MSGPACK, BUFFERS de protocolo o cualquier otro formato de datos para lograr la máxima flexibilidad. Las bibliotecas oficiales de clientes Go y Python también están disponibles. Uno de los objetivos de diseño del sistema de cola de mensajes NSQ es limitar el número de mensajes que se mantienen en la memoria. Los temas, el flujo distinto de datos y canales, la agrupación lógica de transmisiones o consumidores suscritos a un tema dado son las primitivas centrales de NSQ. El servicio de cola de mensajes NSQ está compuesto por 3 demonios: NSQD es el demonio que recibe, buffers y entrega mensajes a los clientes. NSQLOOKUPD atiende a las solicitudes del cliente para encontrar la ubicación de los temas y administra metadatos del clúster. Proporciona un servicio de descubrimiento consistente en tiempo de ejecución para que los consumidores encuentren productores NSQD para un tema específico. NSQADmin es una interfaz de usuario de servicio web para las tareas administrativas de clúster en tiempo real de su clúster NSQ.
Requisitos del sistema
NSQ Simple and Open Source Menss Broker se ejecuta en:
- Golang versión 1.13+
- Versión de GPM 1.4+
- Git
Características
Algunas de las características clave del software de cola de mensajes NSQ se enumeran a continuación:
- Admite topologías distribuidas sin SPOF
- Los mensajes se pueden configurar en modo persistente
- NSQ adopta el modo de memoria y disco duro
- Los mensajes persisten en la memoria cuando el servidor se reinicia
- Cada mensaje se entrega al menos una vez
- Horizontalmente escalable
- Entrega de mensajes basado en empuje de baja latencia
- Principalmente la cola de mensajes en memoria
- Seguridad de la capa de transporte TLS
- Servicio de descubrimiento de tiempo de ejecución para encontrar productores
- Formato de datos Agnóstico
- Interfaz de administración de clúster robusta
- Fuente abierta
Instrucciones de instalación
Instale NSQ en Ubuntu
NSQ es el mejor corredor de mensajes y fácil de comenzar la plataforma de mensajería distribuida en tiempo real. Primero, asegúrese de que todos los paquetes de dependencia de NSQ estén instalados y actualizados en su sistema. NSQ Todos los parámetros se especifican en la línea de comando y los binarios NSQ compilados no tienen dependencia de tiempo de ejecución. A continuación, la guía cubre la instalación de NSQ en Debian y Ubuntu, incluidas las distribuciones basadas en ellas. Las siguientes instrucciones a continuación ejecutarán un clúster NSQ en su máquina local. NSQ utiliza módulos GO para producir compilaciones confiables, así que use los comandos a continuación para compilar y configurar NSQ:
git clone https://github.com/nsqio/nsq
cd nsq
make
Hay tres binarios separados nsqlookupd, nsqd y nsqadmin que deben instalarse y en ejecución. Entonces, en un shell, comience a NSQLookUpd usando:
nsqlookupd
En el segundo shell del terminal, inicie NSQD usando:
nsqd --lookupd-tcp-address=127.0.0.1:4160
También puede agregar–Broadcast-Address = 127.0.0.1. La mayor parte de la depuración, análisis y administración se realiza a través de NSQADmin. Entonces, comience a nsqadmin en un nuevo shell ejecutando:
nsqadmin --lookupd-http-address=127.0.0.1:4161
A continuación, publique un mensaje inicial usando:
curl -d 'hello world 1' 'http://127.0.0.1:4151/pub?topic=test'
Iniciar NSQ_TO_FILE en otro shell con el comando:
nsq_to_file --topic=test --output-dir=/tmp --lookupd-http-address=127.0.0.1:4161
Finalmente, publique más mensajes a 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 la prueba Ejecutar el comando en la terminal:
./test.sh
Para la depuración y el monitoreo en tiempo real a continuación, el comando también funciona muy bien:
watch -n 0.5 "curl -s http://127.0.0.1:4151/stats"
Finalmente, en su navegador web favorito, abra http://127.0.0.1:4171/ para verificar y ver la interfaz de usuario de NSQADmin y ver estadísticas. También verifique el contenido de los archivos de registro (prueba.*. Registro) escrito en el directorio /TMP. ¡Felicidades! Ha instalado con éxito NSQ en el sistema Ubuntu. ¡Disfrutar!
Preguntas frecuentes
¿Qué es NSQ?
NSQ es una plataforma de mensajería distribuida en tiempo real de código abierto que maneja millones de mensajes todos los días. Ofrece mensajes confiables sin tolerancia a fallas y alta disponibilidad.
¿El código abierto NSQ?
NSQ es una mejor cola de mensajes de código abierto y plataforma de mensajería distribuida en tiempo real. El repositorio de código fuente NSQ está disponible en Github.
¿NSQ es gratis?
NSQ es una plataforma de cola de mensajes distribuida de uso gratuito y DowLoad.
¿Qué es NSQ vs Kafka?
NSQ y Kafka son servicios de colas de mensajes. NSQ es más simple de configurar y más fácil de implementar la plataforma de cola de mensajes, mientras que Kafka garantiza garantías estrictas y confiabilidad sin pérdida de datos.
¿En qué idioma está escrito NSQ?
NSQ está escrito en el lenguaje de programación GO.