go语言nsq源码解读九 tcp和http中channel、topic的增删
通过前面多篇文章,nsqlookupd基本已经解读完毕了,不过在关于channel和topic的增删上还比较模糊,所以本篇将站在宏观的角度来总结一下,tcp.go和http.go两个文件中关于channel和topic的操作有哪些。
总结如下表:
| 模块 | 文件 | 所在方法名 | 调用方法 | Registration | ||
| Category | Key | SubKey | ||||
| TCP | lookup_protocol_v1.go | REGISTER | AddProducer | “channel” | topic | channel |
| AddProducer | “topic” | topic | “” | |||
| UNREGISTER | RemoveProducer | “channel” | topic | channel | ||
| RemoveProducer | “channel” | topic | “*” | |||
| RemoveProducer | “topic” | topic | “” | |||
| IDENTIFY | AddProducer | “client” | “” | “” | ||
| HTTP | http.go | topicsHandler | FindRegistrations | “topic” | “*” | “” |
| channelsHandler | FindRegistrations | “channel” | topicName | “*” | ||
| lookupHandler | FindRegistrations | “channel” | topicName | “*” | ||
| FindRegistrations | “topic” | topicName | “” | |||
| createTopicHandler | AddRegistration | “topic” | topicName | “” | ||
| deleteTopicHandler | RemoveRegistration | “channel” | topicName | “*” | ||
| RemoveRegistration | “topic” | topicName | “” | |||
| tombstoneTopicProducerHandler | FindProducers | “topic” | topicName | “” | ||
| createChannelHandler | AddRegistration | “channel” | topicName | channelName | ||
| AddRegistration | “topic” | topicName | “” | |||
| deleteChannelHandler | RemoveRegistration | “channel” | topicName | channelName | ||
| nodesHandler | FindProducers | “client” | “” | “” | ||
| LookupRegistrations | “topic” | “*” | “” | |||
| FindProducers | “topic” | t | “” | |||
go语言nsq源码解读九 tcp和http中channel、topic的增删的更多相关文章
- go语言nsq源码解读六 tcp.go、tcp_server.go
本篇讲nsqlookupd中tcp.go.tcp_server.go tcp_server.go位于util目录下. 12345678910111213141516171819202122232425 ...
- go语言nsq源码解读八 http.go、http_server.go
这篇讲另两个文件http.go.http_server.go,这两个文件和第六讲go语言nsq源码解读六 tcp.go.tcp_server.go里的两个文件是相对应的.那两个文件用于处理tcp请求, ...
- (转)go语言nsq源码解读二 nsqlookupd、nsqd与nsqadmin
转自:http://www.baiyuxiong.com/?p=886 ---------------------------------------------------------------- ...
- go语言 nsq源码解读三 nsqlookupd源码nsqlookupd.go
从本节开始,将逐步阅读nsq各模块的代码. 读一份代码,我的思路一般是: 1.了解用法,知道了怎么使用,对理解代码有宏观上有很大帮助. 2.了解各大模块的功能特点,同时再想想,如果让自己来实现这些模块 ...
- go语言nsq源码解读七 lookup_protocol_v1.go
本篇将解读nsqlookup处理tcp请求的核心代码文件lookup_protocol_v1.go. 1234567891011121314151617181920212223242526272829 ...
- go语言nsq源码解读二 nsqlookupd、nsqd与nsqadmin
nsqlookupd: 官方文档解释见:http://bitly.github.io/nsq/components/nsqlookupd.html 用官方话来讲是:nsqlookupd管理拓扑信息,客 ...
- go语言nsq源码解读一-基本介绍
简单介绍一下nsq. 参考 http://feilong.me/2013/05/nsq-realtime-message-processing-system 的介绍:NSQ是由知名短链接服务商bitl ...
- go语言 nsq源码解读四 nsqlookupd源码options.go、context.go和wait_group_wrapper.go
本节会解读nsqlookupd.go文件中涉及到的其中三个文件:options.go.context.go和wait_group_wrapper.go. options.go 123456789101 ...
- go语言nsq源码解读五 nsqlookupd源码registration_db.go
本篇将讲解registration_db.go文件. 1234567891011121314151617181920212223242526272829303132333435363738394041 ...
随机推荐
- Oracle常用数据库对象(片段)
1:用户和权限 1.1 用户的创建 a)语法--- create user 用户名 identified by 密码: b)创建用户abcd,并设定密码为abcd;---注意:操作数据库对象是 ...
- JS(作用域和闭包)
1.对变量提升的理解 1.变量定义(上下文) 2.函数声明 2.说明 this 几种不同的使用场景 常见用法 1.作为构造函数执行 2.作为对象属性执行 3.作为普通函数执行(this === win ...
- 设置eclipse全局编码格式
window--preference--general--workspace--text file encoding
- 2010_3_1最新 完整 FFMPEG 编译详解
在网上看了很多编译详解,都很零散.经过自己的编译,解决一些BUG,在此分享自己的一些经验... 话不多说了!直接上贴. 第一步:准备编译平台. 需要 一个 MinGW 和 一个 MSYS 安装包 以及 ...
- Nginx SSL功能支持的一些资料。
http://wiki.nginx.org/HttpSslModulehttp://zou.lu/nginx-https-ssl-module/http://www.21andy.com/blog/2 ...
- svn path already exists的解决办法
这种问题的一般原因是这个path所指的目录在服务器端是一个空目录,对客户端不可见,客户端如果新建了这个目录,而且向服务器端commit的时候就会报错,服务器端此目录已存在,这个时候就会存在一个问题:就 ...
- 关于Django Web应用架构设计开发的几个问题
1.关于分层,做过传统JEE应用的同学肯定知道JEE应用会分很多个设计层.根据传统Web应用架构设计一般从上到下分这么几个层(太懒了,不画图了):Web前端层.Web后端交互层.业务层.基础数据设施层 ...
- vfd电子时钟制作
17年也没干个啥,年后就去折腾着玩意儿了,也不知道我折腾它还是它折腾我.反正总之现在勉强可以交作业了,呵呵 硬件: 1.罗耶振荡电路输出一路4v交流,一路25v交流 其中4v直接驱动灯丝,另一路经电桥 ...
- FileReader读取本地文件
FileReader是一种异步读取文件机制,结合input:file可以很方便的读取本地文件. 一.input:type[file] file类型的input会渲染为一个按钮和一段文字.点击按钮可打开 ...
- Chatbot思考录
人工分词产生不一致性的原因主要在于人们对词的颗粒度的认知问题.在汉语里,词是表达意最基本的意思,再小意思就变了.在机器翻译中会有一种颗粒度比另外一种颗粒度更好的情况,颗粒度大的翻译效果好. 为了解决词 ...