- 博客(5)
- 收藏
- 关注
原创 nsqd解析:nsqd链接的建立
在 nsqd 中,每个 nsqd 节点初始化时会默认监听两个端口:[nsqd] INFO: TCP: listening on [::]:4150 TCP 连接[nsqd] INFO: HTTP: listening on [::]:4151 HTTP 连接 那么这两个端口有什么作用呢?nsqd 是怎么和 lookupd 以及客户端进行通信的呢?如何处理新到达的链接呢?在 ...
2020-01-15 15:27:38
792
原创 nsqd解析:nsqd-protocolV2
protocol_v2 协议 一个客户端只能订阅一个 channel,客户端可以向 nsqd 发送指令完成指定操作并返回结果,nsqd 可以向客户端推送消息.IOLoop 操作 从上一节我们了解到,nsqd 每和一个客户端建立 TCP 连接都会创建一个 protocolV2 struct,里面仅仅包含所处语境即 nsqd,然后执行 IOLoop 操作进行 nsqd 和客户端的通信.所以...
2020-01-15 15:25:49
7982
原创 nsqd解析:nsqd-channel
nsqd.Channel 解析 Channel 是消费者订阅特定 Topic 的一种抽象.对于发往 Topic 的消息,nsqd 向该 Topic 下的所有 Channel 投递消息,而同一个 Channel 只投递一次,Channel 下如果存在多个消费者,则随机选择一个消费者做投递.这种投递方式可以被用作消费者负载均衡. Channel 从属于特定 Topic,可以认为是 Topic ...
2020-01-15 09:06:11
1107
原创 nsqd解析:nsqd-topic
Topic 解析 上一篇我们对 nsqd 的整体框架有了大概的了解,但是光看整个运行的流程是十分空洞的,本篇文章来对这个框架进行填充,对 topic 这一组成部分进行详尽的解析. topic 管理着多个 channel 通过从 client 中获取消息,然后将消息发送到 channel 中传递给客户端.在 channel 初始化时会加载原有的 topic 并在最后统一执行 topic.St...
2020-01-15 00:29:10
630
原创 nsqd解析:nsqd整体框架
nsqd这就不对 nsqd 做过多介绍,直接开始看看源码,整个 nsqd 外面套了一层外壳,用来监听系统信号并维持 nsqd 的正常运行nsqd 的启动流程如下:Init()Start()参数解析NewNsqd()LoadMetadata()PersistMetadata()go Main(),这就是 nsqd 的真正入口了NotifySignal(SIGINT, SI...
2020-01-14 16:14:16
1147
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人