开源消息系统-NSQ
NSQ 是无中心设计、节点自动注册和发现的开源消息系统。可作为内部通讯框架的基础,易于配置和发布。采用Go语言开发并在MIT协议授权。
NSQ is a realtime distributed messaging platform.
架构:

无单点故障:

特点
追求简单部署
追求高可用、避免单点故障、无中心设计
确保消息送达
生产者消费者自动发现、消费者连接所有生产者、向消费者推的模式
提供 HTTP 接口
提供几乎所有编程语言的客户端开发包
Features
support distributed topologies with no SPOF
horizontally scalable (no brokers, seamlessly add more nodes to the cluster)
low-latency push based message delivery (performance)
combination load-balanced and multicast style message routing
excel at both streaming (high-throughput) and job oriented (low-throughput) workloads
primarily in-memory (beyond a high-water mark messages are transparently kept on disk)
runtime discovery service for consumers to find producers (nsqlookupd)
transport layer security (TLS)
data format agnostic
few dependencies (easy to deploy) and a sane, bounded, default configuration
simple TCP protocol supporting client libraries in any language
HTTP interface for stats, admin actions, and producers (no client library needed to publish)
integrates with statsd for realtime instrumentation
robust cluster administration interface (nsqadmin)
最新版本0.3
该版本包含一些小 bug 修复和新特性。改进了 nsq_stat 和 nsq_to_file 助手应用(支持 #ephemeral 主题)。此外 TLS 选项继续改进对 --tls-min-version 的支持以及 TLS_FALLBACK_SCSV 的 bug 修复。
官方主页:http://nsq.io/