论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
数据库
›
Oracle
›
【实践】快速学会使用阿里云消息队列RabbitMQ版 ...
【实践】快速学会使用阿里云消息队列RabbitMQ版
商道如狼道
论坛元老
|
2024-10-15 23:16:20
|
显示全部楼层
|
阅读模式
楼主
主题
1812
|
帖子
1812
|
积分
5436
1、场景简介
在本实行场景中,将创建一个云消息队列RabbitMQ版Serverless系列实例,使用RabbitMQ开源客户端生产和消费消息,再检察Dashboard上实例的指标变革,以及检察消息轨迹。
云消息队列RabbitMQ版
云消息队列 RabbitMQ 版是一款基于高可用分布式存储架构实现的 AMQP 0-9-1 协议的消息产品,能够兼容开源 RabbitMQ 客户端。与开源 RabbitMQ 相比,能够办理各种稳固性痛点(比方消息堆积、脑裂等题目),同时具备高并发、分布式、灵活扩缩容等云消息服务优势。
云消息队列 RabbitMQ 版 Serverless 系列实例能力和预付费系列的企业版能力一样,但 Serverless 系列实例具有更高的弹性上限,且是按量后付费的计费方式,无需提前预留资源,按照实际使用量收费,助您降本增效。
云消息队列 RabbitMQ 版 Serverless 系列实例支持根据实际使用的资源量按量后付费,您可以弹性使用资源,无需提前预留。
(实行总费用不超过0.5元(包含收发消息次数25万次))
2、实行架构和流程
2.1、实行架构
消息在云消息队列 RabbitMQ 版的组件之间流动的过程如下:
生产者向Exchange发送消息。
Exchange根据消息属性将消息路由到Queue进行存储。
消费者从Queue拉取消息进行消费。
2.2、实行流程
本实行流程可参考云消息队列RabbitMQ版进行消息收发的基本操作流程,如下图所示。但为了包管您能顺利完本钱实行,请按照实行手册进行具体操作。
前提条件:
开通阿里云账号,已通过实名认证并且账户余额大于100,开通使用云消息队列RabbitMQ版Serverless系列实例(实行总费用不超过0.5元(包含收发消息次数25万次))。
3、创建实行资源
在实行页面,勾选我已阅读并同意《阿里云云起实践平台服务协议》和我已授权阿里云云起实践平台创建、读取及开释实操相关资源后,单击开始实操。
创建资源需要5分钟左右的时间,请您耐心等待。
在云产品资源列表,您可以检察本场景涉及的云产品资源信息
创建消息队列rabbitmq实例成功!
4、创建阿里云AccessKey
前往AccessKey管理。
在安全提示对话框,阅读安全提示信息,然后单击继续使用AccessKey。
在AccessKey页面,单击创建AccessKey。
根据界面提示完成安全验证。
在创建AccessKey对话框,检察AccessKey ID和AccessKey Secret。
您可以单击下载CSV文件,下载AccessKey信息。单击复制,复制AccessKey信息。
选中我已保存好AccessKey Secret。
单击确定。
5、创建静态用户名暗码
在创建用户名暗码面板,填写上一步创建的AccessKey ID和AccessKey Secret,单击确定。
返回如下页面,您可检察到创建的用户名和暗码。
6、创建Vhost、Exchange、Queue并绑定关系
6.1、Vhost 的作用
虚拟主机(Virtual Host),用作逻辑隔离,分别管理各自的Exchange、Queue和Binding,使得应用安全的运行在差别的Vhost实例上,相互之间不会干扰。一个实例下可以有多个Vhost,一个Vhost里面可以有多少个Exchange和Queue。生产者和消费者连接消息队列RabbitMQ版需要指定一个Vhost。
6.2、创建Vhost
6.3、Exchange 的作用
Exchange是消息队列RabbitMQ版的消息路由代理。生产者向消息队列RabbitMQ版发送消息时,不会直接将消息发送到Queue,而是先将消息发送到Exchange,由Exchange将消息路由到一个或多个Queue。Exchange根据Routing Key和Headers属性路由消息.
范例阐明:
Direct Exchange 根据 Routing Key 完全匹配的规则路由消息。Direct Exchange 适用于通过简单字符标识符区分消息的场景。Direct Exchange 常用于单播路由。
Topic Exchange 根据 Routing Key 通配符匹配的规则路由消息。Topic Exchange 适用于通过通配符区分消息的场景。Topic Exchange常用于多播路由。比方,使用Topic Exchange分发有关于特定地理位置的数据。
Fanout Exchange 忽略 Routing Key 的匹配规则将消息路由到全部与该 Exchange 界说过 Binding 的全部 Queue。Fanout Exchange 适用于广播消息的场景。比方,分发系统使用 Fanout Exchange 来广播各种状态和设置更新。
Headers Exchange 可以被视为 Direct Exchange 的另一种表现情势。Headers Exchange 可以像 Direct Exchange 一样工作,差别之处在于 Headers Exchange 使用 Headers 属性代替 Routing Key 进行路由匹配。Headers Exchange 适用于通过多组 Headers 属性区分消息的场景。Headers Exchange 常用于多播路由。比方,涉及到分类或者标签的新闻更新。
消息队列RabbitMQ版还支持x-delayed-message Exchange。通过声明该类Exchange,您可以自界说消息的Header属性x-delay来指定消息延时投递的时间段,单元为毫秒。消息将在x-delay中界说的时间段后,根据被投递到对应的Queue。路由规则取决于x-delayed-type中指定的Exchange范例。
x-consistent-hash:哈希取值 :RoutingKey / Header 值
6.4、创建Exchange
6.5、Queue 的作用
消息队列,存储消息的缓冲区,每个消息都会被投入到一个或多个Queue里。
6.6、创建Queue
6.7、创建Exchange和Queue的绑定关系
7、使用RabbitMQ开源客户端生产和消费消息
7.1 idea创建demo
打开IntelliJ IDEA,使用Git克隆RabbitMQ开源客户端demo项目。
首先需要检查确认已安装Git。若为安装Git,您可参考下方步调进行安装。
在插件(Plugins)的Marketplace中,搜刮GitToolBox,选中GitToolBox并单击右侧的安装(Install)。
在IntelliJ IDEA中,单击Get from Version Control。
在Get from Version Control面板,Version Control选择Git,URL填写项目长途仓库地址https://gitee.com/RongtongJin/amqp-java-demo.git,Directory选择恣意一个本地文件夹或新建一个本地文件夹,单击Clone。
Clone完成后进入项目,选择amqp-java-demo > src > main > java,双击Config.java文件,将代码中HOSTNAME、USERNAME、PASSWORD三个参数值替换为阿里云RabbitMQ实例的公网接入点、静态用户名和静态暗码。
7.2 运行ProducerTest连续发送消息
在IntelliJ IDEA中,运行amqp-java-demo文件下的ProducerTest.java文件,连续发送消息。
7.3 运行ConsumerTest连续接收消息
在IntelliJ IDEA中,运行 amqp-java-demo文件下的ConsumerTest.java文件,连续接收消息。
7.4 检察消息收发记录
观察IntelliJ IDEA控制台打印的消息收发记录。
8、检察Dashboard的实例指标变革
返回消息队列RabbitMQ版控制台页签,在左侧导航栏中,单击Dashboard。
9、检察消息轨迹
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
商道如狼道
论坛元老
这个人很懒什么都没写!
楼主热帖
【python】实现文章同步csdn社区自动化 ...
SQLI-LABS(Less-5)
Scrum 框架的四个会议还适用于哪些敏捷 ...
Django生产环境静态资源404问题 ...
容器化 | 在 Rancher 中部署 MySQL 集 ...
如何利用ipad随时随地开发代码 ...
django 报错 'set' object is ...
SAP集成技术(十)混合集成平台 ...
2022 Delphi 11开发苹果IOS证书等详细 ...
MySQL数据库安装
标签云
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
分布式数据库
.Net
程序人生
物联网
SQL-Server
DevOps与敏捷开发
鸿蒙
IOS
登录参与点评抽奖加入IT实名职场社区
下次自动登录
忘记密码?点此找回!
登陆
新用户注册
用其它账号登录:
关闭
快速回复
返回顶部
返回列表