rocketmq系列(1)功能简介

1. Rocketmq是什么

2. 术语

  2.1 Producer

  2.2 Producer Group

  2.3 Consumer

  2.4 Consumer Group

  2.5 Topic

  2.6 Queue

  2.7 Message

  2.8 Tag

  2.9 Broker

  2.10 Name Server

3. 功能特性

  3.1 事物消息

  3.2 广播消息

  3.3 负载均衡

  3.4 顺序消息

  3.5 消息过滤

    3.5.1 计划消息(延迟投递消息)

    3.5.2 批量消息


1. Rocketmq是什么?

Rocketmq是阿里(现已捐赠给Apache)开源的一款消息中间件,具有效率高、低延时、高可靠等特性。对比流行的消息中间件,它比Activemq效率高,比Kafka可靠性高。

 

2. 术语

  2.1 Producer

消息生产者,产生消息,发送至rocketmq服务端。

  2.2 Producer Group

生产者组,在消息回查时,会随机挑选同一个生产组的成员进行回查。消息回查涉及到rocketmq的事务及二阶段提交问题,请参考其他文档。

  2.3 Consumer

消息消费者,接收消息,进行消费。

  2.4 Consumer Group

消费者组,在发送非广播消息时,同一个组内的消费者,不会消费到相同的消息。

  2.5 Topic

主题,消息的逻辑分类。在rocketmq服务端,发送消息之前需要保证Topic存在。在生产者生产消息时,需要为每一个消息指定Topic。消费者消费消息时,也需要指定消费哪一个Topic的消息。

  2.6 Queue

队列。每一个Topic下会创建若干个队列,用于实际存储消息。

  2.7 Message

消息,承载消息的结构。Message中有Topic,Tag,消息内容等。

  2.8 Tag

标签,Topic下一级的分类。同一个Topic的消息,可以指定不同的Tag。在消费者进行消费时,可以通过Tag进行过滤。

  2.9 Broker

Broker即为rocketmq的服务端,每个服务端会启动一个broker进程。

  2.10 Name Server

名字发现服务,在rocketmq集群中,通过name server进行broker发现及注册。使用客户端时,只需要配置name server的集群地址,不需要配置具体的broker的地址。Broker的使用是封装在api中的,开发者不需要关心。

3. 功能特性

  3.1 事物消息

rocketmq支持将某次操作和消息发送绑定到一起,如果操作成功,则消息提交,消费端会消费到消息;如果操作失败,则消息回滚,服务端消费不到消息。比如,数据库操作。

  3.2 广播消息

在普通的消费模式中中,同一个消息,只能被一个Consumer Group的某一个Consumer消费到。在广播消息中,一个Consumer Group中的每一个Consumer都会消费到相同消息。

  3.3 负载均衡

Producer发送消息时,可以平均的将消息发送至所有Broker ,完成负载均衡。

  3.4 顺序消息

rocketmq支持发送顺序消息,保证consumer可以按顺序接收。

  3.5 消息过滤

rocketmq支持两种消息过滤方式。

第一种,上文中提到的Tag过滤。在接收消息时,指定需要过滤的Tag。例如:TagA || TagB || TagC。

第二种,最新版的rocketmq支持SQL特性的过滤方式。在生产消息时,通过用户属性字段添加自定义属性。接收消息时,通过过滤条件进行过滤。详情请参考其他文档。

    3.5.1 计划消息(延迟投递消息)

计划消息发送成功后,消费端不能立即获取到。需要等到预先设置好的延迟时间过后,才能被消费到。

    3.5.2 批量消息

发送消息时可以将多个Message放入一个List结构中进行统一发送。但是这些消息需要有相同的Topic而且是非计划消息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RocketMQ是一个开源的分布式消息中间件,具有高吞吐量、高可用性和可伸缩性的特点。它是由阿里巴巴集团开发和维护的,被广泛应用于大规模分布式系统中。 在实战中,使用RocketMQ可以实现消息的可靠传输和异步通信,适用于各种场景,如订单处理、日志收集、实时数据同步等。以下是一些RocketMQ的实战应用场景和操作步骤: 1. 安装和配置RocketMQ:首先需要下载和安装RocketMQ,然后进行相关的配置,包括名称服务器(NameServer)和消息代理(Broker)的配置。 2. 创建Topic和Producer:在RocketMQ中,消息通过Topic进行分类,Producer负责发送消息到指定的Topic。可以使用命令行工具或者编程方式创建Topic和Producer。 3. 创建Consumer和订阅Topic:Consumer负责订阅指定的Topic,并处理接收到的消息。可以使用命令行工具或者编程方式创建Consumer,并订阅感兴趣的Topic。 4. 发送和接收消息:通过Producer发送消息到指定的Topic,Consumer订阅该Topic并接收消息进行处理。可以使用RocketMQ提供的API进行消息的发送和接收操作。 5. 实现消息的可靠性传输:RocketMQ可以保证消息的可靠性传输,即使在发送或接收过程中出现异常,也能够保证消息不丢失。可以通过配置参数和使用事务消息等方式来实现可靠性传输。 6. 监控和管理RocketMQRocketMQ提供了一系列的监控和管理工具,可以对消息的发送和接收进行监控,以及管理Topic和Consumer等。 以上是RocketMQ的简单实战应用场景和操作步骤,希望对你有所帮助。详细的使用方法和更多高级功能可以参考RocketMQ的官方文档和示例代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值