aliyun-ons-ruby-sdk阿里云 ONS 消息队列服务

联合创作 · 2023-09-19 05:48

Ons

阿里云 ONS 消息队列服务 Ruby SDK(非官方版本)

项目依赖

  • Linux/Unix 系统

  • Ruby 2.1.5 或以上版本

  • Boost C++ 程序库

安装步骤

安装 Ruby 程序

$ rvm install 2.1.5

安装 Boost C++ 程序库

$ apt-get install libboost-all-dev

安装 ons

$ gem install ons

使用方式

环境准备

  • 安装 ons rubygems。

  • 代码里涉及到的 TOPIC、PRODUCER_ID、CONSUMER_ID,需要在 MQ 控制台上创建。 Message Tag 可以完全由应用自定义,具体创建过程可参考 申请MQ资源

  • 使用 MQ 服务的应用程序需要部署在阿里云 ECS 上。

部分资料来自 消息队列 > TCP 接入(专业) > C/C++ SDK 环境准备

生产者

producer = Ons::Producer.new('<ONS_ACCESS_KEY>', '<ONS_SECRET_KEY>', '<ONS_PRODUCER_ID>') 
# 资源准备 producer.start
# 在 topic <ONS_TOPIC> 下发送消息 producer.send_message('<ONS_TOPIC>', 'tag', 'Hello, World!')
# 必须在程序退出前调用 shutdown 方法释放相关资源,否则可能出现栈错误 producer.shutdown

更多用法,请参考 {file:samples/producer.rb} 及 API 文档

消费者

consumer = Ons::Consumer.new('<ONS_ACCESS_KEY>', '<ONS_SECRET_KEY>', '<ONS_CONSUMER_ID>') 
# 订阅 topic <ONS_TOPIC> 下的所有消息 
# 注意,当消息达到时,会调用下述函数,此函数会被调度到单独线程中执行 consumer.subscribe('<ONS_TOPIC>', '*') { |message| p message } 
# 资源准备 consumer.start 
# 等待消息到达 sleep 32 
# 必须在程序退出前调用 shutdown 方法释放相关资源,否则可能出现栈错误 consumer.shutdown

更多用法,请参考 {file:samples/consumer.rb} 及 API 文档

浏览 8
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报