nsqlookupd的角色类似于注册中心,管理着nsqd -> Topic -> Channel的拓扑信息,提供Client查询Topic和Channel的信息。nsqlookupd主要提供两种接口:TCP接口,用于nsqd广播信息;另外就是HTTP接口,让Client可以服务发现或者admin可以进行管理操作。
启动方式和nsqd类似,
func (p *program) Start() error {
// 配置读取
...
p.nsqlookupd = nsqlookupd
go func() {
err := p.nsqlookupd.Main()
if err != nil {
p.Stop()
os.Exit(1)
}
}