阿里云AMQP NodeJS SDK使用Demo

简介: 消息队列RabbitMQ版是阿里云消息队列(MQ)团队基于AMQP 0-9-1(AMQP 0.91)标准协议研发的分布式、高吞吐、低延迟、高可扩展的云消息队列服务。消息队列RabbitMQ版完全兼容开源RabbitMQ社区、开箱即用、无需部署、免运维,帮助您快速上云。阿里云提供全托管服务,更专业、更可靠、更安全。本文主要演示如何使用开源NodeJS SDK连接阿里云AMQP 消息服务,实现消息收发。

Step By Step

1、AMQP控制台创建实例
图片.png
图片.png
图片.png

2、创建用户名和密码
图片.png
图片.png
图片.png

3、Node JS SDK 安装

npm install amqplib

4、连接URL配置说明

amqp://{用户名}:{密码}@{endpoint}/{vhost}

4、发送端代码

#!/usr/bin/env node

var amqp = require('amqplib/callback_api');

amqp.connect('amqp://Mj******:Nk******@am******.mq-amqp.cn-beijing-******.aliyuncs.com/demo_vhost', function(error0, connection) {
    if (error0) {
        throw error0;
    }
    connection.createChannel(function(error1, channel) {
        if (error1) {
            throw error1;
        }

        var queue = 'hello';
        var msg = 'Hello World!';

        channel.assertQueue(queue, {
            durable: false
        });
        channel.sendToQueue(queue, Buffer.from(msg));

        console.log(" [x] Sent %s", msg);
    });
    setTimeout(function() {
        connection.close();
        process.exit(0);
    }, 500);
});

5、消费端代码

#!/usr/bin/env node

var amqp = require('amqplib/callback_api');

amqp.connect('amqp://Mj******:Nk******@am******.mq-amqp.cn-beijing-******.aliyuncs.com/demo_vhost', function(error0, connection) {
    if (error0) {
        throw error0;
    }
    connection.createChannel(function(error1, channel) {
        if (error1) {
            throw error1;
        }

        var queue = 'hello';

        channel.assertQueue(queue, {
            durable: false
        });

        console.log(" [*] Waiting for messages in %s. To exit press CTRL+C", queue);

        channel.consume(queue, function(msg) {
            console.log(" [x] Received %s", msg.content.toString());
        }, {
            noAck: true
        });
    });
});

6、测试效果
图片.png

7、控制台部分监控
图片.png
图片.png

更多参考

阿里云常见参数获取位置
rabbitmq/rabbitmq-tutorials
创建静态用户名密码

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
3月前
|
前端开发 JavaScript API
阿里云智能媒体服务IMS(Intelligent Media Services)的视频剪辑Web SDK
【1月更文挑战第15天】【1月更文挑战第72篇】阿里云智能媒体服务IMS(Intelligent Media Services)的视频剪辑Web SDK
54 6
|
3月前
|
弹性计算 Java API
阿里云OpenAPI的依赖文件通常在阿里云官方文档或者SDK的GitHub仓库中可以找到
【1月更文挑战第5天】【1月更文挑战第21篇】 阿里云OpenAPI的依赖文件通常在阿里云官方文档或者SDK的GitHub仓库中可以找到
98 1
|
6月前
|
JavaScript 前端开发 Python
Node.js在Python中的应用实例demo
Node.js在Python中的应用实例demo
|
2月前
|
人工智能 Java 开发工具
阿里云视觉智能开放平台提供了多种SDK供开发者使用
阿里云视觉智能开放平台提供了多种SDK供开发者使用
32 6
|
2月前
|
对象存储
阿里云oss-cloud-sdk-springboot3兼容问题
阿里云oss-cloud-sdk-springboot3兼容问题
74 0
|
7月前
|
开发工具 开发者
使用阿里云的 OpenAPI SDK 时经常遇到调用失败的问题
使用阿里云的 OpenAPI SDK 时经常遇到调用失败的问题
154 1
|
4月前
|
存储 安全 搜索推荐
芜湖阿里云代理商:aliyun-python-sdk-ossadmin
简介:@luotuoemo 飞机@TG 【聚搜云】服务器运维专家! www.4526.cn 阿里云是一家全球领先的云计算服务提供商,提供丰富的云产品和解决方案。作为阿里云代理商,使用aliyun-python-sdk-ossadmin可以帮助用户更好地管理和使用阿里云的对象存储服务(OSS),享受到阿里云带来的诸多优势。
|
4月前
|
存储 DataWorks 开发工具
在DataWorks中,可以使用Python SDK操作阿里云OSS存储服
在DataWorks中,可以使用Python SDK操作阿里云OSS存储服
135 1
|
4月前
|
开发工具
阿里云的镜像服务(mirrors.aliyun.com)可以同步 Google Cloud SDK 的软件包
阿里云的镜像服务(mirrors.aliyun.com)可以同步 Google Cloud SDK 的软件包
183 3