本文参考RocketMQ技术内幕>
消息存储
不会永久保存消息文件,而是启用文件过期策略,在磁盘空间不足或在凌晨4点删除过期文件,文件默认保存72小时,删除时不会判断该文件上的消息是否被消费...fileName是以创建时的时间戳命名的,固定的单个IndexFile文件大小约为400M,一个IndexFile可以保存2000W个索引,IndexFile的底层存储设计为在文件系统中实现HashMap结构,故rocketmq...该消息的主题名称为重试主题,其他属性与原先的消息保持相同
在存入commitlog文件之前,如果消息的延迟级别大于0,替换消息的主题为定时任务主题 SCHEDULE_TOPIC_XXX,队列ID为延迟级别减1
顺序消费
ROCKETMQ...master汇报
消息消费者向master拉取消息时,如果消息消费者内存中存在消息消费进度时,master会尝试跟新消息消费进度
读写分离
master负责读写,slave可以为读,也可以什么都不做
RocketMQ