首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

消息中间件—RocketMQ消息存储(一)一、MQ消息队列的一般存储方式二、RocketMQ消息存储整体架构三、RocketMQ文件存储模型层次结构四、总结

文章摘要:MQ分布式消息队列大致流程在于消息的一发一收一存,本篇将为大家主要介绍下RocketMQ存储部分的架构 消息存储是MQ消息队列中最为复杂和最为重要的一部分,所以小编也就放在RocketMQ系列篇幅中最后一部分来进行阐述和介绍。本文先从目前几种比较常用的MQ消息队列存储方式出发,为大家介绍RocketMQ选择磁盘文件存储的原因。然后,本文分别从RocketMQ的消息存储整体架构和RocketMQ文件存储模型层次结构两方面进行深入分析介绍。使得大家读完本文后对RocketMQ消息存储部分有一个大致的了解和认识。 这里先回顾往期RocketMQ技术分享的篇幅(如果有童鞋没有读过之前的文章,建议先好好读下之前小编写的篇幅或者其他网上相关的博客,把RocketMQ消息发送和消费部分的流程先大致搞明白): (1)消息中间件—RocketMQ的RPC通信(一) (2)消息中间件—RocketMQ的RPC通信(二) (3)消息中间件—RocketMQ消息发送 (4)消息中间件—RocketMQ消息消费(一) (5)消息中间件—RocketMQ消息消费(二)(push模式实现) (6)消息中间件—RocketMQ消息消费(三)(消息消费重试)

05

RabbitMQ应用场景解读汇总

一 、解耦:现场画个图来说明一下,A系统发送个数据到BCD三个系统,接口调用发送,那如果E系统也要这个数据呢?那如果C系统现在不需要了呢?现在A系统又要发送第二种数据了呢?A系统负责人濒临崩溃中。。。再来点更加崩溃的事儿,A系统要时时刻刻考虑BCDE四个系统如果挂了咋办?我要不要重发?我要不要把消息存起来? 这就造成和各个子系统和A系统耦合度非常高,所有子系统依赖于A系统,由A系统负责接收和处理数据,而我们引入了消息中间件时,A只需要将消息发送给MQ就不用管了,后面MQ负责进行转发数据,如果需要新加接收消息的系统或者去除接收消息的系统只需要在中间件和子系统进行配置即可.

02

腾讯消息中间件TubeMQ开源了

TubeMQ是腾讯大数据在2013年开始研发的分布式消息中间件系统(MQ),专注服务大数据场景下海量数据的高性能存储和传输。经过近7年上万亿的海量数据沉淀,较之于众多的开源MQ组件,TubeMQ在海量实践(稳定性+性能)和低成本方面有一定的优势。一个礼拜前,TubeMQ开源了,本篇博文转载自官方公布的文档。博主花了半天搭建开发环境到运行,到发送消息接收消息体验下来,发现不管是腾讯的TubeMQ,还是rocketmq,他们的架构都或多或少参考了kafka的设计,所以上手会非常快。而且,开源版本很可能是内部版本的剖离版,刚开源还没来得及打磨,没做全面的验证测试。因为博主在测试过程中发现了一个特别大的bug,consumer接收消息时导致CPU100%,而且是必现的,有兴趣的可点击issue查看,博主提交issue后,官方开发立马就跟进了,这速度也是没谁了。相信不久后TubeMQ会是继kafka和rocketmq后又一个非常不错的选择。TubeMQ也有捐赠给Apache的想法,Apache中国内的顶级项目越来越多了,国内的开源大环境也越来越好了

02
领券