NSQ系列之nsqlookupd代码分析四(详解nsqlookupd中的RegitrationDB)
NSQ系列之nsqlookupd代码分析四(详解nsqlookupd中的RegitrationDB操作方法) 上一章我们大致了解了 nsqlookupd 的 tcpServer 中的 IOLoop 协议的处理逻辑,里面有提到一个存储 nsqd 的 PeerInfo 以及 topic channel 数据信息的 RegitrationDB 的一些操作方法。今天我们就来讲解一下关于 RegitrationDB 的操作方法 废话不多说,直接上代码吧(代码位于nsq/nsqlookupd/regitration_db.go这个文件中) type RegistrationDB struct { sync.RWMutex //读写锁用于并发操作 registrationMap map[Registration]Producers //定义一个一Regitration为key producer指针的slice为value的map } type Registration struct { Category string Key string SubKey string } type Registrations []Registration //用于记录client相关信息 type PeerInfo struct { lastUpdate int64 //client 心跳包最后接收时间 id