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

环境准备

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

安装 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
  5. 把 cat 的内容,即 GitHub 公钥整体复制下来。
  6. 登录 GitHub 官网,单击 Settings,在左侧菜单选择 SSH and GPG keys
  7. 单击页面右上角 New SSH key,输入相关信息后单击 Add SSH key 保存。
    • Title: 可以自定义填写
    • Key: 将刚才复制的 GitHub 公钥粘贴在此处

下载 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 文件夹。
  3. 选择 Import 类型。
  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 名称(尽量个性化避免重复),单击确定

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

详细信息请参考申请 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。

  2. 配置 producer.xml。
  3. 配置 consumer.xml。

运行 Demo

以 Main 方式启动收发消息

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

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

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

以 Spring 方式启动收发消息

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

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

发送事务消息

运行 SimpleTransactionProducer 类发送消息。

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

发送定时(延时)消息

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

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

HTTP、MQTT 物联接入

  1. HTTP 接入请参考 MQ HTTP 接入。
  2. MQTT 接入请参考 MQTT 接入。
时间: 2024-09-28 07:28:36

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

7年磨一剑 阿里云消息队列正式商用

本文讲的是7年磨一剑 阿里云消息队列正式商用[IT168 云计算]2月29日,阿里云宣布中间件产品消息队列(Message Queue,下文简称MQ)正式商用.MQ可轻松解决企业应用之间的通信问题,满足计算场景中所有的异步解耦需求.企业用户可以利用阿里云API快速接入MQ,仅需几分钟可快速部署,节省大量开发.运维资源及时间,降低企业成本. 作为传统消息中间件的替代品,消息队列在价格上极具竞争力,每50万次请求的价格低至1元,同时提供每月1000万次免费额度. 阿里云消息队列负责人介绍,MQ在阿里

使用阿里云消息队列

使用阿里云消息队列 控制台地址:http://ons.console.aliyun.com/#/home/topic   (1)生成Producer ID 点击"申请发布"  示例代码: Java代码   package com.alibaba.ons.demo;      import java.util.Properties;      import com.aliyun.openservices.ons.api.Message;   import com.aliyun.opens

有没有阿里云消息队列使用经验分享?

问题描述 在阿里云论坛上看到一个帖子,http://bbs.aliyun.com/read.php?tid=145878,发现阿里云推出来云消息服务队列,加入群拿到文档,简单试用了一下,貌似跟aws的消息队列服务很像,不知道稳定性怎么样,有谁试用过吗? 解决方案

阿里云竞价实例OpenApi入门实践

阿里云竞价实例OpenApi入门实践 目的 本文目标是介绍开发者如何通过阿里云ECS SDK,合理快速的创建需要的SPOT竞价实例 准备工作: 首先要熟悉了解阿里云SDK的基础知识和调用方法,可以参考SDK 使用说明 Spot竞价实例代码需要依赖的ECS SDK版本4.2.0 以上, 以JAVA POM依赖举例,修改引入pom依赖: <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-j

每天万亿+级 实时分析、数据规整 - 阿里云HybridDB for PostgreSQL最佳实践

背景 横看成岭侧成峰, 远近高低各不同. 不识庐山真面目, 只缘身在此山中. 不同的视角我们所看到的物体是不一样的, http://t.m.china.com.cn/convert/c_ovWL9w.html 图为墨西哥城放射状的街区广场. 图为西班牙迷宫般的果树漩涡. 地心说和日心说也是视角不同所呈现的. 实际上数据也有这样,我们每天产生海量的数据,有各种属性,以每个属性为视角(分组.归类.聚合),看到的是对应属性为中心的数据. 对应的业务场景也非常多,例如: 1.物联网, 每个传感器有很多属

动态输出(ToB海量日志转换业务) - 阿里云HybridDB for PostgreSQL最佳实践

标签 PostgreSQL , UDF , 动态格式 , format , JOIN , OSS外部表 背景 有一些业务需要将数据归类动态的输出,比如一些公共日志服务,所有用户的日志都被统一的按格式记录到一起,但是每个最终用户关心的字段都不一样,甚至每个用户对数据转换的需求都不一样. 比如这个业务: <日增量万亿+级 实时分析.数据规整 - 阿里云HybridDB for PostgreSQL最佳实践> 一.需求 1.可以根据ToB的用户的定义,输出不同的格式. 2.每个ToB的用户,写入到一

阿里云上的容器技术实践详解

为什么选择阿里云 本文讲的是阿里云上的容器技术实践详解,现在的公有云如雨后春笋,国外如AWS.Azure.Bluemix,国内如BAT.DaoCloud.goodrain,都可以给大家提供丰富的云基础设施和上层服务,那么,为什么选择阿里云呢?主要有三点想法: 我们使用阿里云的服务已经有5年了,从企业级PaaS平台合作开始,再到帮助我们的一些客户逐步迁云,对阿里云的能力还是比较熟悉的. 因为要做的是容器,国外AWS,Azure虽然有,但AWS在中国一直没"正规"数据中心(唯一的一个前几天

【云计算的1024种玩法】使用阿里云解析 + RAM 快速签署 Let&#039;s Encrypt 证书

前言 随着互联网的发展,我们对更安全更快速的互联网有了很高的要求,相比大家对网页劫持和网页恶意挂马一定是深恶痛绝了吧,那么怎么杜绝呢?通过 HTTPS 就可以简单有效的杜绝这些行为,当然了,一些高级的劫持手段还是防不胜防. 而且 HTTPS 也有非常多的福利,比如说浏览器的 安全 符号加持,搜索引擎的 SEO 加权等等,如下图的浏览器标识: 如下图的搜索引擎移动加权的 AMP/MIP 技术依赖于 HTTPS: 要求 & 收获 需要使用到的产品: ECS/轻量应用服务器(安装任意 Linux 发行

游戏安全资讯精选 2017年第十期 英国彩票网遭遇DDoS攻击,中断90分钟 DNSMASQ多高危漏洞公告 阿里云协助警方破获国内最大黑客攻击案,攻击峰值690G

[本周游戏行业DDoS攻击态势] 国庆期间,针对游戏行业的DDoS攻击放缓,攻击者也在放"小长假",10月8日超过500G的攻击可视作攻击猛烈度恢复的表现. [游戏安全动态] 英国彩票网遭遇DDoS攻击,中断90分钟 点击查看原文 点评:10月7日,英国彩票网遭遇DDoS攻击,持续90分钟,造成大量的现金损失.攻击者在访问流量最高的周六瞄准英国最大的彩票网,可以预测是早有预谋.目前,官方还没有确认这起攻击是否与赎金有关,或者可能是经后更大攻击来袭的"前兆",也有可能