开发者社区> 中间件小哥> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

十分钟快速玩转 Aliware MQ-阿里云消息队列Demo工程实践

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

环境准备

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

MQ原理图

安装 IDE

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

  1. https://www.jetbrains.com/idea/ 下载 IDEA。请下载 Ultimate 版本。
  2. 执行 IDEA 安装包,安装 IDEA。
  3. 选择 License server 激活方式,填入 License server address(填入合法地址),例如 http://idea.iteblog.com/key.php (仅做参考)。
  4. 单击 Discover server
  5. 单击最下方激活按钮,激活成功。

安装 Git

请按以下步骤操作:

  1. Git 官网下载安装包,双击进行安装。
  2. 访问官网 https://github.com/ 注册 GitHub 账号。
  3. 生成 GitHub 秘钥,在本机命令行里输入 ssh-keygen -t rsa -C "xxxx@163.com"(您注册 GitHub 的邮箱),使用默认值回车2次。
  4. 执行以下命令:

    cd ~/.ssh/


cat id_rsa.pub

  1. 把 cat 的内容,即 GitHub 公钥整体复制下来。
  2. 登录 GitHub 官网,单击 Settings,在左侧菜单选择 SSH and GPG keys
  3. 单击页面右上角 New SSH key,输入相关信息后单击 Add SSH key 保存。

    • Title: 可以自定义填写
    • Key: 将刚才复制的 GitHub 公钥粘贴在此处

GITKEY

下载 MQ Demo 工程

通过 Git 下载 MQ Demo 工程到本地。执行以下命令:
cd xxxxx(此处为保存工程的本地路径)
git clone git@github.com:lollipopjin/Aliware-MQ-demo.git
下载完成后即可看到本地新增了 Aliware-MQ-demo 文件夹,此文件夹里面为 Demo工程。

Demo 工程配置

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

  1. 创建发布组 PID。在 Topic 管理列表中单击申请发布
    创建PID
  2. 创建订阅组 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

  1. 配置 producer.xml。
    配置P-XML
  2. 配置 consumer.xml。
    配置C-XML

运行 Demo

以 Main 方式启动收发消息

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

Topic查询

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

打印消费端日志

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

消费者状态

以 Spring 方式启动收发消息

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

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

发送事务消息

运行 SimpleTransactionProducer 类发送消息。

说明:LocalTransactionCheckerImpl 类为本地事务 check 接口类。用于校验事务。详情请参考发送分布式事务消息

发送定时(延时)消息

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

说明:MQ 也可以指定一个精确的投递时间,最长定时时间为40天。具体请参考发送定时消息

HTTP、MQTT 物联接入

  1. HTTP 接入请参考 MQ HTTP 接入
  2. MQTT 接入请参考 MQTT 接入

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云消息队列 Kafka-消息检索实践
本文章主要介绍消息队列使用过程中所遇到的消息丢失、重复消费等痛点问题的排查办法,以及消息队列 Kafka「检索组件」的场景实践,并对其关键技术进行解读。旨在帮助大家对消息队列 Kafka「检索组件」的特点和使用方式更加熟悉,以更有效地解决消息排查过程中所遇到的问题。
39 0
Linux(二):VMware虚拟机中Ubuntu安装详细过程(下)
Linux(二):VMware虚拟机中Ubuntu安装详细过程
156 0
阿里云ECS安装LAMP
本篇文章介绍在阿里云ECS上安装如何安装并验证apache,mysql,php等基础服务。
77 0
【阿里云镜像】使用阿里云Docker CE 镜像安装Docker
Docker CE 是免费的 Docker 产品的新名称,Docker CE 包含了完整的 Docker 平台,非常适合开发人员和运维团队构建容器 APP。
499 0
云栖发布|阿里云消息队列 RocketMQ 5.0:消息、事件、流融合处理平台
RocketMQ5.0 的发布标志着阿里云消息正式从消息领域正式迈向了“消息、事件、流”场景大融合的新局面。
517 0
阿里云物联网平台Qucik Start
本文主要演示如何使用物联网平台管理门户现有功能,快速创建一个产品及设备,并实现设备的属性上报,使刚接触该产品的用户能够以最快的方式对阿里云物联网平台有个初步的认知
1557 0
阿里云物联网平台Qucik Start
关于阿里云物联网平台的入门案例,可以参考官方快速入门说明。本文主要演示如何使用物联网平台管理门户现有功能,快速创建一个产品及设备,并实现设备的属性上报,使刚接触该产品的用户能够以最快的方式对阿里云物联网平台有个初步的认知。
3441 0
阿里云首次在ASPLOS'19发布重磅论文:揭秘帮助ECS快速迭代的热升级技术
阿里云首次在ASPLOS上发表论文,第24届ACM编程语言和操作系统(ASPLOS'19),于2019年4月13日至17日,在普罗维登斯召开,阿里云高级技术专家郑晓代表团队在会上发表了技术报告。
2927 0
专访阿里云资深专家易立,Docker技术将改变现代软件供应链
4月26日的云栖大会·南京峰会上,阿里云资深专家汤子楠发布了飞天专有云敏捷版(Apsara Stack Agility),此前美国Docker公司首席执行官Ben Golub 在曾在DockerCon 2017上宣布过这个消息。
2296 0
+关注
中间件小哥
阿里中间件(Aliware)官方账号
1159
文章
52
问答
来源圈子
更多
阿里云中间件主要有包含这么几个: 分布式关系型数据库DRDS_水平拆分 做数据库扩展性的 、消息队列MQ 是做消息的中间件、企业级分布式应用服务EDAS 做分布式服务的、还有一些其他的中间件,比如配置服务、缓存等等。
+ 订阅
相关文档: 全局事务服务GTS 分布式调度任务SchedulerX 云服务总线CSB
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载