NSQ

实时分布式消息传递平台
授权协议 MIT
开发语言 Google Go
所属分类 服务器软件、 JMS/消息中间件
软件类型 开源软件
地区 不详
投 递 者 胡元忠
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

NSQ 是一个实时分布式消息平台,旨在大规模运行,每天处理数十亿条消息。

它提倡没有单点故障的分布式和分散式拓扑结构,实现容错和高可用性,同时保证可靠的消息传递。请看特点和保证。

在操作上,NSQ很容易配置和部署(所有参数都在命令行上指定,编译的二进制文件没有运行时的依赖性)。为了获得最大的灵活性,它与数据格式无关(消息可以是JSON、MsgPack、协议缓冲区或其他任何形式)。官方的Go和Python库是开箱即用的(还有许多其他的客户端库),如果你有兴趣建立自己的库,有一个协议规范。

架构:

nsqd clients

监控界面:

nsqadmin

无单点故障:

nsq clients

特点:

  • 追求简单部署

  • 追求高可用、避免单点故障、无中心设计

  • 确保消息送达

  • 生产者消费者自动发现、消费者连接所有生产者、向消费者推的模式

  • 提供 HTTP 接口

  • 提供几乎所有编程语言的客户端开发包

  • 1. nsq 介绍 编者按: 此篇文章转载自 http://www.baiyuxiong.com/?p=873,内容陈旧,仅供查阅。 官方文档见: http://bitly.github.io/nsq/overview/quick_start.html。 1.1. 基本介绍 NSQ 是由知名短链接服务商 bitly 用 Go 语言开发的实时消息处理系统, 具有高性能、高可靠、无视单点故障等优点,

  • NSQ简介 NSQ 是一个实时分布式消息平台,旨在大规模运行,每天处理数十亿条消息。 它提倡没有单点故障的分布式和分散式拓扑结构,实现容错和高可用性,同时保证可靠的消息传递。请看特点和保证。 在操作上,NSQ很容易配置和部署(所有参数都在命令行上指定,编译的二进制文件没有运行时的依赖性)。为了获得最大的灵活性,它与数据格式无关(消息可以是JSON、MsgPack、协议缓冲区或其他任何形式)。官方的

 相关资料
  • 我正在尝试使用buckecord/Bukkit插件消息通道来接收关于玩家的数据(特别是他们在哪个聊天通道),首先从buk kit发送一个插件消息- 我在这里使用了教程,但服务器只是崩溃了,因为当从Bungee服务器接收到插件消息时,不会触发,所以不会触发。 以下是请求信息的代码: 下面是收到的插件消息的代码: 如果有一种方法可以做到这一点,而不需要等待服务器的其余部分(插件的其余部分可以在等待响应

  • 由于内容脚本在网页而不是扩展程序的上下文中运行,因此它们通常需要某种与扩展程序其余部分进行通信的方式。例如,RSS 阅读器扩展程序可以使用内容脚本来检测页面上 RSS 摘要的存在,然后通知后台页面以显示该页面的操作图标。 扩展及其内容脚本之间的通信使用消息传递来实现。任何一方都可以监听从另一端发送的消息,并在同一通道上进行响应。消息可以包含任何有效的 JSON 对象(空,布尔值,数字,字符串,数组

  • ms tcp nodelay 描述: 在信差的 TCP 会话上禁用 nagle 算法。 类型: Boolean 是否必需: No 默认值: true ms initial backoff 描述: 出错时重连的初始等待时间。 类型: Double 是否必需: No 默认值: .2 ms max backoff 描述: 出错重连时等待的最大时间。 类型: Double 是否必需: No 默认值: 15

  • 消息传递 目录 一次简单的请求 h3Name 长时间保持连接 h3Name 扩展之间的消息传递 h3Name 安全策略 h3Name 范例 h3Name API reference Properties propertyName Methods methodName Events eventName Types id For information on how to use experiment

  • OpenStack使用消息传递(我想默认情况下是RabbitMQ?)用于节点之间的通信。另一方面,Kubernetes(谷歌内部博格的血统)使用RPC。Docker的swarm也使用了RPC。两者都是基于grpc/protofbuf的,在Google内部似乎也大量使用。

  • 同源策略 要理解跨域,首先要知道同源策略。所谓同源策略:是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少同源策略,则浏览器的正常功能可能受到影响。可以说,WEB是构建在同源策略上的。 同源:如果两个URL的域名、协议、端口相同,则表示它们同源。 浏览器的同源策略,限制了来自 不同源的"文档"或脚本对 当前文档读取或设置属性。也就是其它源的文档或脚本不能对当前文档进行设置属性和读取操作。根据

  • 我正在尝试用spring cloud stream实现spring cloud契约。我有一个使用StreamBridge的制作人 方法sendMessage()是从rest控制器调用的。 我的合同是这样的: 当我运行测试时,会调用triggerCreateOrganization()方法,并在日志中看到日志消息“生产组织到主题”。 我在生成的测试的基类上有@AutoConfigureMessage

  • 抱歉,我需要先解释一下,然后再谈这个问题。 异步: 我可以使用Kafka producer async send with with callback,如果向Kafka发送消息时出现错误,那么通知JMS使用者不确认消息消耗将为时已晚。为了克服这个问题,我想出的唯一办法是,如果有异常,在回调中保留消息,然后尝试稍后发送消息。但我认为那会是太多的开销。 有没有其他方法可以使用异步调用来处理这种情况?