- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 nsq源码分析(3):nsqd之数据持久化2
nsq源码分析(3):nsqd之数据持久化2 当nsqd进程退出时,将内存中的数据写入到磁盘 当nsqd进程启动时,将磁盘中的数据读入到内存 nsqd退出时写入本地元数据nsqd/nsqd.gofunc (n *NSQD) Exit() { n.Lock() err := n.PersistMetadata() if err != nil { n
2017-06-15 11:47:53
1798
原创 nsq源码分析(2):nsqlookup之RegistrationDB数据库
nsq源码分析(2):nsqlookup之RegistrationDB数据库 RegistrationDB保存集群中nsqd的拓扑信息及注册和心跳信息 nsqlookupd参考资料RegistrationDB结构体 RegistrationDB是一个map类型 map[Registration]Producers ,在读写操作过程中使用读写锁来保证数据一致性nsqlookupd/r
2017-06-08 14:59:50
797
原创 nsq源码分析(2):nsqlookup之tcp服务
nsq源码分析(2):nsqlookup之tcp服务通信协议本章内容涉及tcp协议的封包解包内容,请参考 nsq tcp协议规范[ ][ ][V][1]client连接后,客户端必须发送一个4 字节的 “magic” 标识码来选择通讯协议的版本。启动tcp服务nsqlookupd/nsqlookupd.go // 启动tcp服务 tcpListener, err := net.List
2017-06-07 16:13:17
1046
原创 nsq源码分析(2):nsqlookup之http服务
nsq源码分析(2):nsqlookup之http服务nsqlookup使用了httprouter高性能http请求路由库httprouter的路由信息* nsqlookupd/nsqlookupd.go * // 启动http服务 httpListener, err := net.Listen("tcp", l.opts.HTTPAddress) if err != nil
2017-06-07 15:59:31
1099
1
原创 nsq源码分析(2):nsqlookup之启动和停止
nsq源码分析(2):nsqlookup之启动nsqlookup使用go-svc包https://github.com/judwhite/go-svc
2017-06-07 13:35:36
1854
1
原创 nsq源码分析(1):代码结构
nsq源码分析(1):代码结构nsq项目介绍github项目地址:[nsq][1]NSQ是由3个进程组成的: nsqd:接收消息、分发消息到消费者客户端的进程 nsqlookupd: 管理拓扑信息并提供最终一致性的发现服务。 nsqadmin:用于实时查看集群的统计数据(并且执行各种各样的管理任务)。代码目录结构git clone https://github.com/nsqio/nsq.gi
2017-06-07 13:20:03
4524
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人