Html/CSS
nsq的diskqueue 标签描述

一、diskqueue是什么,为什么需要它 在nsq中消息主要存在于两种队列 一种是内存队列,内部是用go的通道实现,所以处理速度很快,缺点是一旦nsqd进程挂掉消息就丢失了,这让人难以接受,数据丢了不得被用户骂死? 一种是持久化队列,内部实现是把消息保存在磁盘文件中,即使nsqd进程突然挂掉或者服务器重启,文件仍然存在,只需重启nsqd即可,nsqd进程会重新从文件中加载消息然后再进行投递。持久化队列也是nsq能保证消息可靠投递的重要原因之一 贴出来源码,给大家看下nsqd中的两种队列,以Topic举例,文件在nsq/nsqd/topic.go typeTopicstruct{ //省...