会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
张伯雨
Powered by
博客园
博客园
|
首页
|
新随笔
|
联系
|
订阅
|
管理
上一页
1
···
12
13
14
15
16
17
18
19
20
···
37
下一页
2017年8月31日
client_v1.go
摘要: package nsqlookupdimport ( "net")//客户端 结构体type ClientV1 struct { net.Conn //客户端连接 peerInfo *PeerInfo //服务端信息结构体}func NewClientV1(conn net.Conn) *ClientV1 { return &ClientV1{ Con...
阅读全文
posted @ 2017-08-31 10:47 张伯雨
阅读(174)
评论(0)
推荐(0)
编辑
阅读nsq源码 ---初步架构设计图
摘要:
阅读全文
posted @ 2017-08-31 10:46 张伯雨
阅读(623)
评论(0)
推荐(0)
编辑
NSQ源码剖析之nsqd
摘要: NSQ简介NSQ 是实时的分布式消息处理平台,其设计的目的是用来大规模地处理每天数以十亿计级别的消息。NSQ 具有分布式和去中心化拓扑结构,该结构具有无单点故障、故障容错、高可用性以及能够保证消息的可靠传递的特征,是一个成熟的、已在大规模生成环境下应用的产品。NSQ 由 3 个守护进程组成: nsqd 是接收、保存和传送消息到客户端的守护进程。 nsqlookupd 是管理的拓扑信息,维护着所有n...
阅读全文
posted @ 2017-08-31 10:45 张伯雨
阅读(2103)
评论(0)
推荐(0)
编辑
golang使用Nsq
摘要: 为什么要使用Nsq最近一直在寻找一个高性能,高可用的消息队列做内部服务之间的通讯。一开始想到用zeromq,但在查找资料的过程中,意外的发现了Nsq这个由golang开发的消息队列,毕竟是golang原汁原味的东西,功能齐全,关键是性能还不错。其中支持动态拓展,消除单点故障等特性, 都可以很好的满足我的需求下面上一张Nsq与其他mq的对比图,看上去的确强大。下面简单记录一下Nsq的使用方法图片来...
阅读全文
posted @ 2017-08-31 10:45 张伯雨
阅读(4859)
评论(0)
推荐(0)
编辑
nsq源码阅读笔记之nsqd(四)——Channel
摘要: 与Channel相关的代码主要位于nsqd/channel.go, nsqd/nsqd.go中。Channel与Topic的关系Channel是消费者订阅特定Topic的一种抽象。对于发往Topic的消息,nsqd向该Topic下的所有Channel投递消息,而同一个Channel只投递一次,Channel下如果存在多个消费者,则随机选择一个消费者做投递。这种投递方式可以被用作消费者负载均衡。Ch...
阅读全文
posted @ 2017-08-31 10:44 张伯雨
阅读(2128)
评论(0)
推荐(0)
编辑
nsq源码阅读笔记之nsqd(二)——Topic
摘要: 与Topic相关的代码主要位于nsqd/nsqd.go, nsqd/topic.go中。Topic的获取Topic通过GetTopic函数获取GetTopic函数用于获取topic对象,首先先尝试从topicMap表中获取,如果指定的topic存在,则直接返回topic对象。当topic不存在时需要新建一个topic,加入到topicMap中, 如果启用了nsqlookupd则需要从lookupd...
阅读全文
posted @ 2017-08-31 10:42 张伯雨
阅读(792)
评论(0)
推荐(0)
编辑
nsq源码阅读笔记之nsqd(三)——diskQueue
摘要: diskQueue是backendQueue接口的一个实现。backendQueue的作用是在实现在内存go channel缓冲区满的情况下对消息的处理的对象。 除了diskQueue外还有dummyBackendQueue实现了backendQueue接口。对于临时(#ephemeral结尾)Topic/Channel,在创建时会使用dummyBackendQueue初始化backend, du...
阅读全文
posted @ 2017-08-31 10:42 张伯雨
阅读(830)
评论(0)
推荐(0)
编辑
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:比做一个广播,如交通广播。打开...
阅读全文
posted @ 2017-08-31 10:41 张伯雨
阅读(3222)
评论(0)
推荐(0)
编辑
nsq源码阅读笔记之nsqd(一)——nsqd的配置解析和初始化
摘要: 配置解析nsqd的主函数位于apps/nsqd.go中的main函数首先main函数调用nsqFlagset和Parse进行命令行参数集初始化, 然后判断version参数是否存在,若存在,则打印版本号并退出程序接下来钩住系统的syscall.SIGINT和syscall.SIGTERM消息,用来阻塞主goroutine防止退出随后判断config参数是否存在,若存在的话还需进行配置文件的读取, ...
阅读全文
posted @ 2017-08-31 10:41 张伯雨
阅读(1309)
评论(0)
推荐(0)
编辑
go语言nsq源码解读九 tcp和http中channel、topic的增删
摘要: 通过前面多篇文章,nsqlookupd基本已经解读完毕了,不过在关于channel和topic的增删上还比较模糊,所以本篇将站在宏观的角度来总结一下,tcp.go和http.go两个文件中关于channel和topic的操作有哪些。总结如下表:模块文件所在方法名调用方法RegistrationCategoryKeySubKeyTCPlookup_protocol_v1.goREGISTERAddP...
阅读全文
posted @ 2017-08-31 10:37 张伯雨
阅读(818)
评论(0)
推荐(0)
编辑
上一页
1
···
12
13
14
15
16
17
18
19
20
···
37
下一页