参考答案
1 RocketMQ 是什么?
- RocketMQ 是阿里巴巴在2012年开源的分布式消息中间件,目前已经捐赠给 Apache 软件基金会,并于2017年9月25日成为 Apache 的顶级项目。
- 作为经历过多次阿里巴巴双十一这种“超级工程”的洗礼,有稳定出色表现的国产中间件,RocketMQ 具有高性能、低延时和高可靠等特性。
- RocketMQ 主要用来提升性能、系统解耦、流量削峰等。
2. RocketMQ 有哪些特点
RocketMQ 主要有如下6个特点:
2.1 灵活可扩展性
RocketMQ 支持集群,其核心的四个组件Name Server、Broker、Producer、Consumer,每一个都可以在没有单点故障的情况下进行水平扩展。
2.2 海量消息堆积能力
RocketMQ 采用零拷贝原理,实现超大的消息的堆积能力。
单机就可以支持亿级消息堆积,并且在堆积了大量消息后,依然可以保持写入低延迟。
2.3 支持顺序消息
可以保证消息消费者按照消息发送的顺序对消息进行消费。
顺序消息分为全局有序和局部有序。
一般推荐使用局部有序,即生产者通过将某一类消息按顺序发送至同一个队列来实现。
2.4 多种消息过滤方式
消息过滤分为在服务器端过滤和在消费端过滤。
- 服务器端过滤时,可以按照消息消费者的要求做过滤,优点是减少不必要消息传输,缺点是增加了消息服务器的负担,实现相对复杂。
- 消费端过滤,则完全由具体应用自定义实现,这种方式更加灵活,缺点是很多无用的消息会传输给消息消费者。
2.5 支持事务消息
RocketMQ 除了支持普通消息,顺序消息之外还支持事务消息,这个特性对于分布式事务来说,提供了又一种解决思路。
2.6 回溯消费
回溯消费是指消费者已经消费成功的消息,由于业务上需求需要重新消费,RocketMQ 支持按照时间回溯消费,时间维度精确到毫秒,可以向前回溯,也可以向后回溯。
以上,是消息队列 RocketMQ 面试题【RocketMQ 是什么,有什么特点】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—