nats streaming订阅

我这里分析的是由nats streaming启动nats的,不连接外部nats

1.在nats streaming第一章,已经说明nats streaming会启动客户端连接nats,然后注册消息回调,包括客户端连接,订阅,发布等消息回调

2.订阅客户端发送订阅消息,服务端调用readLoop()进行消息读取,c.parse消息解析,->(c *client) processSub->(c *client) processMsg

for循环调用订阅事件监听者,

3.上面都还算是nats服务器调用,接着消息转发到nats streaming,readLoop->(nc *Conn) processMsgArgs(在这里确定事件的调用者,这里认为有个设计不好的地方,事件调用者确认是通过nc.ps.ma.sid,而这个值是按依赖于初始化自增的,个人认为固定事件id更好,而不是依赖于初始化顺序,在这里订阅事件的sid是4,)->(nc *Conn) processMsg(把消息丢入sub.pHead队列)->

(nc *Conn

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值