二、RocketMQ 介绍

2019-12-20  本文已影响0人  一直想上树的猪

一、简介

消息队列 RocketMQ 是阿里巴巴集团基于高可用分布式集群技术,自主研发的云正式商用的专业消息中间件,既可为分布式应用系统提供异步解
耦和削峰填谷的能力,同时也具备互联网应用所需的海量消息堆积、高吞吐、可靠重试等特性,是阿里巴巴双 11 使用的核心产品。
RocketMQ 的设计基于主题的发布与订阅模式,其核心功能包括消息发送、消息存储(Broker)、消息消费,整体设计追求简单与性能第一。

  1. NameServer 设计及其简单,RocketMQ 摈弃了业界常用的Zookeeper充当消息管理的“注册中心”,而是使用自主研发的 NameServer 来实现各种元数据的管理(Topic路由信息等)
  2. 高效的 I/O 存储,RocketMQ追求消息发送的高吞吐量,RocketMQ 的消息存储设计成文件组的概念,组内单个文件固定大小,引入了内存 映射机制,所有主题的消息存储基于顺序读写,极大提高消息写性能,同时为了兼顾消息消费与消息查找,引入消息消费队列文件与索引文件
  3. 容忍存在设计缺陷,适当将某些工作下放给 RocketMQ 的使用者,比如消息只消费一次,这样极大的简化了消息中间件的内核,使得 RocketMQ的实现发送变得非常简单与高效。
    RocketMQ 原先阿里巴巴内部使用,与 2017 年提交到 Apache 基金会成为 Apache 基金会的顶级开源项目,GitHub 代码库链接:https://github.com/apache/rocketmq.git
    RocketMQ 的官网 http://rocketmq.apache.org/

二、核心概念

核心
NameServer
主题

主题,Topic,消息主题,一级消息类型,生产者向其发送消息。消费者负责从 Topic 接收并消费消息。

生产者

生产者:也称为消息发布者,负责生产并发送消息至 Topic。

消费者

消费者:也称为消息订阅者,负责从 Topic 接收并消费消息。

消息

消息:生产者或消费者进行消息发送或消费的主题,对于 RocketMQ 来说,消息就是字节数组。

三、整体流程

上一篇下一篇

猜你喜欢

热点阅读