RocketMQ的前身是Metaq,当 Metaq 3.0发布时,产品名称改为 RocketMQ
RocketMQ是一款分布式、队列模型的消息中间件,具有以下特点:
1、支持严格的消息顺序;
2、支持Topic与Queue两种模式;
3、亿级消息堆积能力;
4、比较友好的分布式特性;
5、同时支持Push与Pull方式消费消息;
RocketMQ is a fast, reliable, scalable, easy to use message oriented middleware born from alibaba massive messaging business.
It offers a variety of features as follows:
Pub/Sub and P2P messaging model
Reliable FIFO and strict sequential messaging in the same queue
Long pull queue model,also support push consumption style
Million message accumulation ability in single queue
Over a variety of messaging protocols.such as JMS,MQTT,HTTP2 etc.
Distributed high available deploy architecture, meets at least once message delivery semantics
Docker images for isolated testing and cloud Isolated clusters
Feature-rich administrative dashboard for configuration,metrics and monitoring Cloud Charge
Message full-link tracking Cloud Charge
Producer transaction message,making producer and local database transaction in one atomic operation Cloud Charge
Message Schedule delivery,similar JMS2 spec's delivery delay Cloud Charge
二、术语介绍
Producer
A producer sends messages generated by the business application systems to brokers. RocketMQ provides multiple paradigms of sending: synchronous, asynchronous and one-way.
Consumer
A Consumer pulls messages from brokers and feeds them into application. In perspective of user application, two types of consumers are provided:
PullConsumer
Pull consumer actively pulls messages from brokers. Once batches of messages are pulled, user application initiates consuming process.
PushConsumer
Push consumer, on the other hand, encapsulates message pulling, consuming progress maintaining and other effortful work inside, leaving a callback interface to end user to implement which will be executed on message arrival.
Producer Group
Producers of the same role are grouped together. A different producer instance of the same producer group may be contacted by a broker to commit or roll back a transaction in case the original producer crashed after starting the transaction.
Warning: Considering the provided producer is sufficiently powerful at sending messages, only one instance is allowed per producer group and process to avoid unnecessarily initializing of producer instances.
Consumer Group
Similar to previously mentioned producer group, consumers of the exactly same role are grouped together and named Consumer Group.
Consumer Group is a great concept with which achieving goals of load-balance and fault-tolerance, in terms of message consuming, is super easy.
Warning: consumer instances of a consumer group must have exactly same topic subscription(s).
Topic
Topic is a category to which producers deliver messages and from which consumers pull messages. Topics have very loose relation with producers and consumers. Specifically, a topic may have zero, one or multiple producers that sends messages to it; conversely, a producer can sends messages of different topics. In consumer's view, a topic may be subscribed by zero, one or multiple consumer groups; and a consumer group, in the same paradigm, may subscribe one or multiple topics as long as instances of this group keep their subscription consistent as emphasized in the previous section.
Message Queue
Topic, internally, is logically partitioned into one or more sub-topics. We call these sub-topics "message queues". This concept plays a major role in implementing valuable features, including fail-over, maximum concurrency, etc.
Message
Message is the envelope of your information to deliver. A message must be specified with a topic, which can be interpreted as address of your letter to mail to. A message may also have an optional tag set. Extra key-value pairs may also be included. For example, you may set a business key for your message and look up the message on broker server to diagnose issues during development.
Tag
Tag, which can be thought as sub-topic, provides an extra flexibility for user. Through introducing tag, messages with different purposes from the same business module may have the same topic yet different tag. It would be helpful to keep your code clean and coherent.
Broker
Broker is the major role of the RocketMQ system. It receives messages sent from producers, store them and being prepared to serve pull requests from consumers. It also stores message consuming related meta data, including consumer groups, consuming progress offsets and topic / queue info.
Name Server
Name server serves as the routing information provider. Producer/Consumer clients look up topics to find broker list to read from and write to.
Namesrv功能:
接收broker的请求注册broker路由信息(包括master和slave)
接收client的请求根据某个topic获取所有到broker的路由信息
Message Model
Clustering
Broadcasting
Message Order
When DefaultMQPushConsumer is employed, you may decide to consume messages orderly or concurrently.
Orderly
Consuming messages orderly means messages are consumed the same order they are sent by producers for each message queue. If you are dealing with scenario that global order is mandatory, make sure the topic you use has only one message queue.
Warn: If consuming orderly is specified, the maximum concurrency of message consuming is the number of message queues subscribed by the consumer group.
Concurrently
When consuming concurrently, maximum concurrency of message consuming is only limited by thread pool specified for each consumer client.
Warn: Message order is no longer guaranteed in this mode.
相关推荐
该资源为在购买了阿里云中间件产品rocketmq消息队列之后,使用的连接rocketmq的demo工程,该程序以 Java 为例,包括普通消息、事务消息、定时消息的测试代码,以及相关 Spring 的配置示例,同时提供tcp连接的程序。
阿里巴巴开源的消息队列。电商产物适用于90%的业务场景。经历双十一的考验,高可用,框架轻量级。
很好用的消息队列,新版Rocketmq4.2, RocketMQ是一款分布式、队列模型的消息中间件
shell脚本:自动部署rocketmq阿里巴巴消息队列阿帕奇消息队列shell脚本:自动部署rocketmq阿里巴巴消息队列阿帕奇消息队列
自动部署rocketmq阿里巴巴消息队列阿帕奇消息队列 #用法 #为排除格式问题,请先执行:dos2unix /脚本根路径/auto_cfg_rmq.sh #最好部署到两台Linux主机。如果只部署一台主机,虽然可以成功,但是只会生成两个broker...
阿里云 专有云企业版 V3.8.1 消息队列 MQ 产品简介 20190916
阿里的分布式系统应用到的消息服务框架,Rocketmq3.1.1
rocketMq主要引用于在项目中的消息队列实现,可异步处理数据
阿里云 专有云企业版 V3.12.0 消息队列 RocketMQ 版 RocketMQ开发指南 20200623
阿里云 专有云企业版 V3.12.0 消息队列 RocketMQ 版 RocketMQ运维指南 20200623
阿里云 专有云企业版 V3.12.0 消息队列 RocketMQ 版 RocketMQ用户指南 20200623
阿里云 专有云企业版 V3.12.0 消息队列 RocketMQ 版 RocketMQ安全白皮书 20200623
阿里云 专有云企业版 V3.12.0 消息队列 RocketMQ 版 RocketMQ产品简介 20200623
阿里云 专有云企业版 V3.12.0 消息队列 RocketMQ 版 RocketMQ技术白皮书 20200630
阿里云 专有云企业版 V3.8.1 消息队列 RocketMQ 版 开发指南 20200529
阿里云 专有云企业版 V3.8.1 消息队列 RocketMQ 版 用户指南 20200525
专有云-消息队列RocketMQ
阿里云 专有云企业版 V3.9.0 消息队列 RocketMQ 版 用户指南 20200525
阿里云 专有云企业版 V3.9.0 消息队列 RocketMQ 版 开发指南 20200529
阿里云 专有云企业版 V3.8.2 消息队列 RocketMQ 版 安全白皮书 20200418