规模不大的项目大家用什么做延时消息队列?

规模不大的项目大家用什么做延时消息队列?,第1张

规模不大的项目大家用什么做延时消息队列?,第2张

云服务的: 阿里云 MQ, 亚马逊 SQS, IRON.IO
开源的: beanstalkd, php-resque, gearman

我知道的大概是这些, 国外的云服务应该是不用考虑的, 网络是最大的障碍.
beanstalkd 最后一个 release 居然是 2014 年的, 但是 github 上还有今年的 pr. 也不知道是什么情况
一般用作延时关闭订单, 定时推送任务这种需求, 轻量级的用什么比较好? ----------------------- 以下是精选回复-----------------------

答:beanstalkd
答:activemq/rabbitmq
答:beanstalkd+1
答:Azure 有 Event Hub
答:rabbitmq 推荐
答:laravel 自带的队列服务
答:nsq
答:那专门挑一个不一样的, redis
答:我也是用 redis
答:第一次看到 beanstalkd ,看了下文档感觉小而强大啊
答:redis + 自己写的 node 定时器,定时触发 web 请求。
答:redis
答:kafka
答:httpsqs
答:redis 就行了
答:所以楼上这么多说 redis , nsq 的是怎么实现延迟消息队列的...
答:直接用数据库嘛, 查询时加个执行时间条件。
答:rmq 。 httpsqs 也挺好的
答:延时关闭订单 /定时发送邮件和队列关系不大不啊?

主要是 Cron 吧?
答:定时的消息处理对时间精度要求不高的话,完全可以轮询
答:rabbitmq +1
答:celery? 算不算?
答:数量不大 redis ,用 lpush , rpop
数量大用 kafka
目前的最佳实践
答:epoll_wait 有个 timeout 参数,在一组任务中取 timeout 最小的值作为 epoll_wait 的参数

把任务用查询树的结构来存储比如红黑树和跳表就可以实现延迟消息队列
答:fastcgi_finish_request();
答:ruby resque
答:既然规模不大,直接 cron 触发 数据库要发送的数据不就好了么
答:看楼上说得都好高端
用 cron 的都瑟瑟发抖不敢说话了……
答:表示 cron 取出所有数据后挨个队列的路过。

cron 取出后扔队列要求很快的而且 worker 不需要再验证其他逻辑了直接走关闭即可。
答:规模不大我以下想到的是用 job ,结果看回答没人用,吓死了
答:redis 吧,我们就是这么弄的
答:用 java delay queue 写一个
答:带延迟的,貌似 redis 的 list 功能不行吧?
beanstalkd 我知道可以带。其它的不了解
答:pyrq
答:看你语言。。。
静态语言单实例直接在进程内实现
答:之前看到的一个纯 redis 实现的消息队列
https://cnodejs.org/topic/5577b493c4e7fbea6e9a33c9
不过按时间准时触发
答:LZ 所指规模不大是什么概念?比方说每小时多少条?
我司用 AWS 做架构,所以用 SQS 做队列。 200 条 /小时左右,很稳定。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 规模不大的项目大家用什么做延时消息队列?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情