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 文档

浏览 22
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

编辑 分享
举报