求推荐好用的消息队列系统

2016-08-01 10:52:15 +08:00
 neilp
经常有一些比较耗时的操作, 比如发邮件,或者耗时的计算. 想专门做一台队列服务器,来做这些耗时的操作.

请大家推荐好用的队列系统.

目前的想法:
1. 使用数据库, 把消息都放进数据库, 然后自己写 daemon 来读取消息并执行, 然后更新状态.

2. httpsqs http://zyan.cc/httpsqs/ 这个看起来不错,不过貌似很久没有更新了.


我的要求:

1. 性能是最不重要的. 队列的消息也不会太多.

2. 需要能 远程操作查询队列, 最好能 支持 http 协议访问, 这样方便.

3. 不要太复杂, 简单好用.


谢谢.
4940 次点击
所在节点    问与答
25 条回复
ipconfiger
2016-08-01 10:53:19 +08:00
那就用第一种, 还天然持久化了的
neilp
2016-08-01 10:57:16 +08:00
@ipconfiger 对啊, 持久化也是要求之一.

但是第一种,自己要写的 code 略多. 主要是远程 http 访问这一块. 感觉得不偿失.
ipconfiger
2016-08-01 10:58:20 +08:00
@neilp pip install requests
harry890829
2016-08-01 10:58:26 +08:00
对于 zmq 我并不是很了解,但是你可以查看一下, zeromq
ipconfiger
2016-08-01 10:59:25 +08:00
@neilp 搞错, 你说 http 管理?pip install bottle 三五下就出个简单的管理 console
cdffh
2016-08-01 11:00:46 +08:00
数据量大了数据库的性能可能会成为瓶颈 使用 redis 的 list 结构来做队列不错. 底层是一个链表实现 进出队列的时间复杂度是 O(1) 目前我就在用.
sarices
2016-08-01 11:01:38 +08:00
一直用 httpsqs ,感觉够用了
neilp
2016-08-01 11:01:44 +08:00
@ipconfiger 对啊, 我说的主要是 数据库要暴露出 http 的访问接口.
ipconfiger
2016-08-01 11:10:18 +08:00
@neilp django-admin 嘛
mrytsr
2016-08-01 11:15:09 +08:00
redis
armstrong
2016-08-01 11:22:08 +08:00
Redis 的 list, lpush, rpoplpush , lrem 即可
jerray
2016-08-01 11:22:50 +08:00
RabbitMQ
pubby
2016-08-01 11:45:45 +08:00
redis 比较简单,但是 优先级,延时这种不好弄。
RabbitMQ 有点重,数据和 hostname 绑定的,如果要迁移有些麻烦
可以试试 beanstalk ,轻量,持久化,优先级,延时这种都有
e1eph4nt
2016-08-01 12:03:21 +08:00
AWS SQS
mrwangrj
2016-08-01 12:04:44 +08:00
beanstalk 不错
tinyproxy
2016-08-01 13:03:13 +08:00
我在这里推荐阿里云 MNS 会不会被打死
sunus
2016-08-01 13:20:56 +08:00
生产环境用像 rabbitmq 这种成熟的方案,不折腾,不蛋疼

楼上说的阿里云, AWS 提供的消息服务也不错
kfll
2016-08-01 13:22:55 +08:00
22too
2016-08-01 16:25:09 +08:00
我们是 rabbitmq
lightening
2016-08-01 16:28:18 +08:00
我们用 RabbitMQ ,性能很好。简单读一读文档,概念也是挺容易懂的。
用第三方系统好处就是发送失败的情况等他们会提供成熟的处理方法。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/296288

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX