golang-nsq系列(三)--nsqlookupd源码解析
上一篇 介绍了 nsqd 的代码逻辑与流程图,本篇来解析 nsq 中另一大模块 nsqlookupd,其负责维护 nsqd 节点的拓扑结构信息,实现了去中心化的服务注册与发现。 1. nsqlookupd 执行入口 在 nsq/apps/nsqlookupd/main.go 可以找到执行入口文件,如下: main.png 2. nsqlookupd 执行主逻辑 主要流程与上一篇讲的 nsqd 执行逻辑相似,区别是运行的具体任务不同。 2.1 通过第三方 svc 包进行优雅的后台进程管理,svc.Run() -> svc.Init() -> svc.Start(),启动 nsqlookupd 实例; func main() { prg := &program{} if err := svc.R...阅读全文