NSQ是一个基于Go语言的开源的分布式实时消息平台html
NSQ可用于大规模系统的实时消息服务,它的设计目标是为在分布式环境下提供一个强大的去除中心化的分布式服务架构,能够天天处理数以亿计的实时消息git
简介:http://www.oschina.net/p/nsq?fromerr=IbkI6VH8github
官方网站:http://nsq.io/web
NSQ的四大组件sql
nsqlookupd:管理nsqd节点拓扑信息并提供最终一致性的发现服务的守护进程架构
nsqd:负责接收、排队、转发消息到客户端的守护进程,而且定时向nsqlookupd服务发送心跳分布式
nsqadmin:nsq的web统计界面,可实时查看集群的统计数据和执行一些管理任务 工具
utilities:常见基础功能、数据流处理工具,如nsq_stat、nsq_tail、nsq_to_file、nsq_to_http、nsq_to_nsq、to_nsq 性能
最主要的优点在以下三个方面:网站
1,性能。在多个著名网站生产环境中被采用,天天可以处理数亿级别的消息。参见官方提供的性能说明文档
2,易用性。很是易于部署(几乎没有依赖)和配置(全部参数均可以经过命令行进行配置)。
3,可扩展性。具备分布式且无单点故障的拓扑结构,支持水平扩展,在无中断状况下可以无缝地添加集群节点。还具备强大的集群管理界面,参见nsqadmin
RabbitMQ和NSQ的一些特色的比较:http://datastream.github.io/articles/mq-in-cloud
支持的客户端语言
http://nsq.io/clients/client_libraries.html
源码解析