NSQ是一个开源分布式消息队列软件

NSQ 免费消息队列软件

基于GO的开源和实时分布式消息队列

NSQ是一个开源实时分布式消息队列,没有单点故障。这是一项可靠的消息传递服务,具有高可用性。

概述

NSQ是一个规模上的实时分布式消息平台操作。它每天处理大量消息,提供可靠的消息传递,提供容错和高可用性。它提供分布式和分散的拓扑,而无需单点故障。在操作上,NSQ最佳消息队列易于安装,配置和部署。 NSQ消息可以是JSON,MSGPACK,协议缓冲区或其他任何数据格式,以实现最大的灵活性。还提供官方GO和Python客户库。 NSQ消息队列系统的设计目标之一是绑定存储在内存中的消息的数量。主题,不同的数据和渠道流,流的逻辑分组或订阅给定主题的消费者是NSQ的核心基础。 NSQ消息排队服务由3个守护程序组成:NSQD是接收,缓冲区并向客户端传递消息的守护程序。 NSQLookupd服务客户端请求,以查找主题位置并管理群集元数据。它为消费者提供了运行时一致的发现服务,以找到特定主题的NSQD生产者。 NSQADMIN是用于NSQ群集集群实时管理任务的Web服务UI。

系统要求

NSQ简单和开源消息代理运行:

  • Golang版本1.13+
  • GPM版本1.4+
  • git

特征

NSQ消息队列软件的一些关键功能如下: *支持分布式拓扑,没有SPOF *消息可以在持久模式下配置

  • NSQ采用内存和硬盘的模式 *当服务器重新启动时,消息在内存中持续存在 *每条消息至少一次传递一次 *水平可扩展 *基于低延迟推动的消息传递 *主要是内存消息队列
  • TLS运输层安全 *运行时发现服务以查找生产者 *数据格式不可知论 *强大的群集给药界面 *开源

安装说明

**在Ubuntu上安装NSQ **

NSQ是最佳消息经纪人,易于启动实时分布式消息平台。首先,确保已安装NSQ的所有量访问套件并在您的系统上最新。 NSQ所有参数均在命令行上指定,并且编译的NSQ二进制文件没有运行时依赖关系。下面的指南涵盖了Debian和Ubuntu上的NSQ安装,包括基于它们的分布。以下以下说明将在本地计算机上运行NSQ群集。 NSQ使用GO模块来生成可靠的构建,因此在下面使用命令进行编译和设置NSQ:

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

需要安装和运行三个单独的二进制文件NSQLOOKUPD,NSQD和NSQADMIN。因此,在一个外壳中,使用:

    nsqlookupd

在终端的第二个外壳中,使用:

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

您还可以添加-broadcast-address = 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"

最后,在您喜欢的Web浏览器中,打开http://127.0.0.1:4171/验证和查看NSQADMIN UI并查看统计信息。还请检查写入 /tmp目录的日志文件(测试*。log)的内容。 恭喜!您已成功在Ubuntu系统上安装了NSQ。享受!

常见问题

什么是NSQ?

NSQ是一个开源实时分布式消息平台,每天处理数百万条消息。它提供可靠的消息,没有容错性和高可用性。

是NSQ开源吗?

NSQ是最佳的开源消息队列和实时分布式消息平台。 NSQ源代码存储库可在github上获得。

NSQ免费吗?

NSQ是免费使用和Dowload分布式消息队列平台。

什么是NSQ与Kafka?

NSQ和KAFKA都是消息排队服务。 NSQ更容易配置,并且更容易部署消息队列平台,而KAFKA则确保了严格的保证和可靠性,而无需数据丢失。

编写了哪种语言?

NSQ用GO编程语言编写。

探索

在本文中,我们讨论了NSQ实时分布式消息平台。要了解其他消息队列(MQ)软件,请访问以下页面:

Sidekiq

兔子

雷克斯

芹菜

前5个开源消息队列软件

 简体中文