NSQ

NSQ是由四个重要组件构成:

  • nsqd:一个负责接收、排队、转发消息到客户端的守护进程
  • nsqlookupd:管理拓扑信息并提供最终一致性的发现服务的守护进程
  • nsqadmin:一套Web用户界面,可实时查看集群的统计数据和执行各种各样的管理任务
  • utilities:常见基础功能、数据流处理工具,如nsq_stat、nsq_tail、nsq_to_file、nsq_to_http、nsq_to_nsq、to_nsq

时间: 2024-12-26 19:50:50

NSQ的相关文章

nsq 学习(一)源码安装nsq

1.源码安装nsq go get github.com/tools/godep go get github.com/bmizerany/assert godep get github.com/bitly/nsq/... godep执行之后,如果报错: godep: outdated Godeps missing source code This dependency list was created with an old version of godep. To work around thi

nsq 学习(三)nsqlookupd

一,整体概况 大概读了下代码,对整份代码结构有了基本思路.但是对代码具体完成的功能和在系统中扮演的角色还不能完全理解.. 整个nsqlookupd分为几部分 1.main,做了初始化之后,就在等待系统信号进行退出等处理 2.RegistrationDB,记录db 3.tcpServr,处理tcp连接,根据tcp发过来的指令完成对应操作 4.httpServer,处理http连接,根据http参数获得的指令完成对应的操作 ps:去官网看了下文档,感觉这里其实大概讲了这个作用:http://nsq.

深入NSQ 之旅[转载]

介绍 NSQ是一个实时的分布式消息平台.它的设计目标是为在多台计算机上运行的松散服务提供一个现代化的基础设施骨架.这篇文章介绍了 基于go语言的NSQ的内部架构,它能够为高吞吐量的网络服务器带来 性能的优化,稳定性和鲁棒性.可以说, 如果不是因为我们在bitly使用go语言,NSQ就不会存在.这里既会讲NSQ的功能也会涉及语言提供的特征.当然,语言会影响思维,这次也不例外.现在回想起来,选择使用go语言已经收到了十倍的回报.由语言带来的兴奋和社区的积极反馈为这个项目提供了极大的帮助. 概要 NS

实时消息平台NSQ的特性

NSQ是GO语言开发的可用于大规模系统中的实时消息服务,但是和RabbitMQ等相比,它具有什么特色,什么场景下选择NSQ呢? NSQ的自身特色很明显,最主要的优势在如下三个方面: 1,性能.在多个著名网站生产环境中被采用,每天能够处理数亿级别的消息.参见官方提供的性能说明文档 2,易用性.非常易于部署(几乎没有依赖)和配置(所有参数都可以通过命令行进行配置). 3,可扩展性.具有分布式且无单点故障的拓扑结构,支持水平扩展,在无中断情况下能够无缝地添加集群节点.还具有强大的集群管理界面,参见ns

nsq源码阅读笔记之nsqd(一)——nsqd的配置解析和初始化

配置解析 nsqd的主函数位于apps/nsqd.go中的main函数 首先main函数调用nsqFlagset和Parse进行命令行参数集初始化, 然后判断version参数是否存在,若存在,则打印版本号并退出程序 接下来钩住系统的syscall.SIGINT和syscall.SIGTERM消息,用来阻塞主goroutine防止退出 随后判断config参数是否存在,若存在的话还需进行配置文件的读取, nsq使用toml格式的配置文件,并通过github.com/BurntSushi/toml

nsq源码阅读笔记之nsqd(四)——Channel

与Channel相关的代码主要位于nsqd/channel.go, nsqd/nsqd.go中. Channel与Topic的关系 Channel是消费者订阅特定Topic的一种抽象.对于发往Topic的消息,nsqd向该Topic下的所有Channel投递消息,而同一个Channel只投递一次,Channel下如果存在多个消费者,则随机选择一个消费者做投递.这种投递方式可以被用作消费者负载均衡. Channel从属于特定Topic,可以认为是Topic的下一级.在同一个Topic之下可以有零个

nsq初探

一. 安装 参考:http://nsq.io/deployment/installing.htmlhttp://www.baiyuxiong.com/?p=873    (推荐.) 不推荐直接把官方的Binary Releases版本down下来扔bin目录.建议用“Building From Source”方式(看下面的步骤),这样可以把source下到$GOPATH/src里并同时把程序build到$GOPATH/bin里. (然后可以把这个bin目录添加到环境变量$sudo vi /etc

(转)go语言nsq源码解读二 nsqlookupd、nsqd与nsqadmin

转自:http://www.baiyuxiong.com/?p=886 ----------------------------------------------------------------------- 上一篇go语言nsq源码解读-基本介绍  介绍了最基本的nsq环境搭建及使用.在最后使用时,我们用到了几个命令:nsqlookupd.nsqd.nsqadmin.curl及 nsq_to_file,并看到用curl命令写入的几个”hello world”被nsq_to_file命令保

nsq topic和channel的区别

topic:一个可供订阅的话题.channel:属于topic的下一级,一个topic可以有多个channel.二者关系可以再参考下面两文章:http://www.cnblogs.com/forrestsun/p/3892710.htmlhttp://www.linuxeden.com/html/news/20140301/148960.html 举个例子:topic:比做一个广播,如交通广播.打开收音机,你可以换很多频率,如果换到91.6MHZ,你就会听到交通广播,(我们这里交通广播是91.6