这篇文章给大家分享的是有关Beanstalkd消息/任务队列的案例分析的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
站在用户的角度思考问题,与客户深入沟通,找到界首网站设计与界首网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站建设、成都网站设计、企业官网、英文网站、手机端网站、网站推广、域名申请、网站空间、企业邮箱。业务覆盖界首地区。Beanstalkd是什么?
Beanstalkd是一个高性能、轻量级的分布式内存队列系统
基本概念
job:需要异步处理的任务(或消息),是Beanstalkd中的基本单元
tube :管道(或消息队列),用来存储同一类型的job,是producer和consumer操作的对象
producer: job的生产者,通过put命令来将一个job放到一个tube中
consumer: job的消费者,通过reserve/release/bury/delete命令来获取job或改变job的状态
job状态
delayed: 延迟状态
ready: 待消费者读取状态
reserved: 消费者处理中状态
buried: 预留状态
delete: 处理完成删除状态
特性
priority:优先级,支持0到2^32的优先级,值越小,优先级越高,默认优先级为1024
delay: 延迟,延迟消费,用来实现定时任务
持久:通过binlog将job及其状态记录到文件里面,在Beanstalkd重启或挂掉后,通过读取binlog来恢复之前的job及状态
TTR:超时控制,put一个job时,可以设置超时时间,如果consumer不能在TTR时间内处理完成,job将会被置为ready状态,供其他consumer继续执行。
感谢各位的阅读!关于Beanstalkd消息/任务队列的案例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!