lua 收不到服务器发来消息,lua 发送消息到 Rabbitmq

lua 发送消息到 kakfka 的类库挺多的,还都比较靠谱,但是 lua 连接 Rabbitmq 的几个类库好像都不太好用, 有用stomp 协议的, 还有 用AMQP 协议的,由于我的服务器上已经安装了 rabbitmq-c , 它基本上就是一组实现了 AMQP 协议的 C 类库, lua 能通过跨语言调用,调用这些 C 类库的API, 而跨语言调用是 lua 的强项。

找到了一个类库 amqp.lua

使用非常简单,使用了 luajit提供的 ffi 库来调用 C 类库。

安装

首先服务器上的 nginx 要安装 lua-nginx-module 或者 openresty,然后要安装 rabbitmq-c,可以参考 PHP 安装 AMQP扩展 中有详细的安装方法。

查找你的 nginx.conf 配置, 找到 lua_package_path,即 lua 的类库安装目录(openresty), 一般类似:

下载 amqp 类库:

找一个虚拟主机配置,例如localhost 的 server 块,添加:

测试

访问 http://localhost/queue,即可测试, 测试前确认交换机 队列 、 routingKey 是否已经设置好。

2017.12.7 更新

本文中使用的类库,由于没有连接复用机制,经测试性能较差,推荐使用另一种方式来发送消息到 rabbitmq 中,参考

喜欢 (5)or分享 (0)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值