消息队列普通消息的发送

来源:互联网 发布:apache serveralias 编辑:程序博客网 时间:2024/05/19 23:00

本 Demo 主要目的在于帮助初次接触 Aliware MQ 的工程师,一步一步搭建 MQ 测试工程。Demo 程序以 Java 为例,包括普通消息、事务消息、定时消息的测试代码,以及相关 Spring 的配置示例。

MQ原理图

安装 IDE

您可以使用 IDEA 或者 Eclipse。本文以 IDEA 为例。

请在 https://www.jetbrains.com/idea/ 下载 IDEA Ultimate 版本,并参考IDEA 说明进行安装。

下载 MQ Demo 工程

在 https://github.com/lollipopjixiang/Aliware-MQ-demo 下载 MQ Demo 工程到本地:

MQ Demo 下载

下载完成后解压即可看到本地新增了 Aliware-MQ-demo-master 文件夹。


Demo 工程设置包含以下几个步骤。

MQ Demo 工程文件导入 IDEA

注意:如果本地未安装 JDK,请先下载安装。

  1. 双击 IDEA 图标打开 IDEA。
  2. 选择 Import Project,选择 MQ Demo 文件夹。

    idea-import

  3. 选择 Import 类型。

    idea-import-2

  4. 默认单击 Next,直到导入完成。Demo 工程需要加载依赖的 JAR 包,因此导入过程需要等待2-3分钟。

申请 MQ 资源(全免费)

请在 MQ 控制台创建 Topic、发布组 Producer ID(PID)、订阅组 Consumer ID (CID)。公网测试 Region 免 Topic 占用费,前2000万次调用免费。

  1. 进入 Aliware MQ 产品首页:https://www.aliyun.com/product/ons/

  2. 单击免费开通,进入管理控制台。

  3. 选择公网测试 域(默认),单击右侧发布 Topic,输入 Topic 名称(尽量个性化避免重复),单击确定

    创建Topic

  4. 创建发布组 PID。在 Topic 管理列表中单击申请发布

    创建PID

  5. 创建订阅组 CID。在 Topic 管理列表中单击申请订阅

    创建CID

详细信息请参考申请 MQ 资源。

配置 MQ Demo

需要配置3个文件:MqConfig 类,producer.xml,consumer.xml。

  1. 配置 MqConfig 类。

    • public static final String TOPIC = “刚才创建的Topic”;
    • public static final String PRODUCER_ID = “刚才创建的PID”;
    • public static final String CONSUMER_ID = “刚才创建的CID”;
    • public static final String ACCESS_KEY = “您的阿里云账号的AK”;
    • public static final String SECRET_KEY = “您的阿里云账号的SK”;

    AK SK 获取:请登录阿里云账号,点击 AccessKeys。AK 即 Access Key ID,SK 即 Access Key Secret。

    说明: 主账号创建 Topic 后,如果在 MQ 控制台的 Topic 管理列表里对子账号进行了授权,那么也可以使用 RAM 子账号的 AK SK。

    AKSK

  2. 配置 producer.xml。

    配置P-XML

  3. 配置 consumer.xml。

    配置C-XML

  4. 以 Main 方式启动收发消息

    1. 运行 SimpleMQProducer 类发送消息。
    2. 登录 MQ 控制台,在左侧菜单栏选择消息查询>Topic 查询,选择 Topic 名称进行查询。可以看见消息已经发送至 Topic。

      Topic查询

    3. 运行 SimpleMQConsumer 类接收消息。可以看到消息被接收打印的日志。因为有初始化,所以需等待几秒,在生产环境中不会经常初始化。

      打印消费端日志

      订阅管理>消费者状态中可以看到,启动的消费端已经在线,并且订阅关系一致。

      消费者状态

    以 Spring 方式启动收发消息

    1. 运行 MQProducer4Spring 类发送消息。
    2. 运行 MQConsumer4Spring 类接收消息。

    查看结果跟上面过程类似。

    发送事务消息

    运行 SimpleTransactionProducer 类发送消息。

    说明:LocalTransactionCheckerImpl 类为本地事务 check 接口类。用于校验事务。

    收发顺序消息

    运行 SimpleOrderConsumer 类接收消息。

    运行 SimpleOrderProducer 类发送消息。

    说明:一种按照顺序进行发布和消费的方式。

    发送定时(延时)消息

    运行 MQTimerProducer 类发送消息。延时3秒后投递。

    说明:MQ 也可以指定一个精确的投递时间,最长定时时间为40天。


本文导读目录
    0 0
    原创粉丝点击