Nsq-分布式消息队列中间件介绍

  • 2018-03-16
  • 1113
  • 0

一、NSQ介绍

1、NSQ是Go语言编写的,开源的分布式消息队列中间件,其设计的目的是用来大规模地处理每天数以十亿计级别的消息。NSQ 具有分布式和去中心化拓扑结构,该结构具有无单点故障、故障容错、高可用性以及能够保证消息的可靠传递的特征,是一个成熟的、已在大规模生成环境下应用的产品。

2、NSQ非常易于部署(几乎没有依赖)和配置(所有参数都可以通过命令行进行配置)且具有最大的灵活性,支持众多消息协议。

3、支持消息内存队列的大小设置,默认完全持久化(值为0),消息即可持久到磁盘也可以保存在内存中。

4、保证消息至少传递一次,以确保消息可以最终成功发送,且收到的消息是无序的, 实现了松散订购。

5、单个nsqd可以有多个Topic,每个Topic又可以有多个Channel。Channel能够接收Topic所有消息的副本,从而实现了消息多播分发;而Channel上的每个消息被分发给它的订阅者,从而实现负载均衡。

二、代码示例

producer.go

consumer.go


上一篇:  下一篇:

评论

还没有任何评论,你来说两句吧

Copyright © 2014-2016 lxlxw All Right Reserved