Beanstalkd 消息队列

Posted zmdcomeon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Beanstalkd 消息队列相关的知识,希望对你有一定的参考价值。

 

技术分享图片

技术分享图片

技术分享图片

技术分享图片

 

 

 技术分享图片

 

 技术分享图片

 

 

技术分享图片

下面图很重要,一定要熟记

技术分享图片

安装beanstalkd与pheanstalk类(不支持windows系统)

 技术分享图片

apt安装

技术分享图片

启动beanstalkd

技术分享图片

 

 安装php类pheanstalk

技术分享图片

demo.php连接测试下类

技术分享图片

在xshell里运行demo.php文件

技术分享图片

 运行结果

 技术分享图片

 

技术分享图片

 使用方法分为三类:生产、消费、维护

生产:生产者用到的方法;

消费:消费者用到的方法;

维护:平时用来管理pheanstalk的命令方法。

 

beanstalkd维护类有以下几种方法

 技术分享图片

beanstalkd生产类的方法(往队列里添加任务的)

 技术分享图片

例子如下:

技术分享图片

技术分享图片

技术分享图片

技术分享图片

 

beanstalkd的消费类

 技术分享图片

技术分享图片

技术分享图片

 

 总结:

1、beanstalkd是什么:是一个高性能、轻量级的分布式内存队列

2、常用的队列服务:RabbitMQ、Kafka 3、生产者与消费者模式:

  生产者--》job--》消费者

4、特性:优先级、延迟、持久化、预留、任务超时重发

5、核心元素: 1、管道与任务: 生产者--》管道--》任务--》消费者

6、只支持linux,不支持window:安装beanstalkd与pheanstalk类

7、$pheanstalk=require ‘beanstalkd.php‘;

   print_r($pheanstalk->status);

        维护类: stats:当前的状态

                        listTubes:当前的管道

                       statsTube:查看管道详细信息

                       useTube:指定要使用的管道

                       statsJob:任务的详细信息

                       peek:通过id取任务

       生产类:  putInTube:封装的

                       put:没有封装的

       消费类:  watch:设置监听的管道

                       ignore:去掉监听的管道

       reserve:监听阻塞的管道

       listTubesWatched:把监听的管道列出来

       reserveFromTube:把watch和reserve的方法合并起来

       release:重置任务,等下次执行

       bury:封存一个任务,等条件允许了,再消费

      peekBuried:读取预留任务

       kickJob:读取预留任务,变成ready,

      kick:可以输入数值,批量把小于这个值的变为buried--》ready peekReady: peekDelay: pauseTube:管道设置延迟

      resumeTube:取消管道延迟

       touch:让任务重新计算给任务续命的

 

以上是关于Beanstalkd 消息队列的主要内容,如果未能解决你的问题,请参考以下文章

消息队列_Beanstalkd-0001.Beanstalkd之轻量级分布式内存队列部署?

Beanstalkd 消息队列

php-beanstalkd消息队列类分享

Beanstalkd工作队列

第6期-PHP电商网站高并发秘诀之异步消息队列

看大数据时代下的IT架构业界消息队列对比