当前位置: 首页 > 科技观察

手把手教你搭建PHP版RabbitMQ消息队列开发环境及Demo实践

时间:2023-03-15 22:40:44 科技观察

手把手教你搭建PHP版RabbitMQ消息队列开发环境及demo实践为了提高程序的响应速度,同时随着消息队列越来越成熟,基于RabbitMQ的进阶消息队列逐渐进入我们程序员的世界,也能胜任这些场景。今天我们就来说说PHP版的RabbitMQ。本地系统环境PHP:PHP7.1.2Web服务器:Apache数据库:MySQL操作系统:Win764位安装RabbitMQ服务器由于RabbitMQ是基于Erlang的,所以第一步需要安装,而当前操作系统是Win7,所以打开Erlang官网,找到对应操作系统的版本,下载安装即可。由于是exe文件,我们直接点击Next等即可完成Erlang的安装。接下来,安装RabbitMQ并打开其官网。我们还可以看到该软件提供了各种操作系统版本。我们可以选择对应的版本进行下载安装。这里是exe文件,所以我们只需要点击它。依次类推完成。安装PHPRabbitMQ扩展,首先打开官方PHP扩展库PECL网站,找到AMQP(高级消息队列协议)扩展。为什么会这样?因为AMQP扩展是一个服务程序,可以和所有兼容AMQP的协议通信,而RabbitMQ是兼容AMQP的协议。打开AMQP我们可以看到它有windows扩展(dll),但是下载的时候发现有很多版本,有线程安全的和非线程安全的,有64位和32位的版本,我们应该怎么办呢?这个时候做什么?不知道大家有没有从PHP官网下载PHP安装的经验。其实从官网下载PHP,上面有线程安全和非线程安全之分。也就是说,其实对应的PECL扩展一定要和你的兼容。否则你的扩展会报错,无法使用,所以我们可以通过phpinfo查看我们当前PHP版本的情况,如果找到相应的信息,我们就知道要下载那个版本的扩展了。本来以为至此我已经彻底完成了这个扩展的安装,但是当我重启web服务器的时候却发现了一个致命的问题,就是web服务器无法正常启动,于是开始了各种摸索,***发现rabbitmq.4.dll文件需要放在PHP安装的根目录下,也就是windows环境下,把这个文件复制到php.ini同级目录下,这样文件来自上述扩展解压。至此,PHP版的RabbitMQ开发环境已经完全搭建完成,接下来激动人心的事情就是进行我的MQ开发实践之旅了。一些基本概念消息生产者:是提供消息的一方,这一方主要是面向业务或面向用户的。消息消费者:是接收和处理消息的一方。此方一般运行在后端轮询中,随时准备接收新消息并进行处理。信道(Channel):打个形象比喻,有了光纤,我们可以在光纤上拨打座机、看电视、上网等,一条链路可以提供多种通信方式。消息队列:RabbitMQ将消息生产者产生的消息排队,形成一个队列供消费者处理。消息队列创建者:消息队列由消费者应用程序创建,因为只有消费者知道如何处理消息,而消息生产者不知道。消息路由转发:一个消费者可能会申请创建多个消息队列,那么生产者的消息应该投递到哪个队列呢?这主要由Exchange指定。制作第一个PHP版本Demo消费者端:server.php生产者端:client.php启动RabbitMQ服务程序,查看日志可以看到上面的日志,相关数据已经保存在文件中,顺利完成我的第一次游的RabbitMQ。欢迎留言评论,也可加入Q群讨论(群号542270018)【原创稿件,合作网站转载请注明原作者及出处为.com】