
RabbitMQ
vonsole
等闲变却故人心,却道故人心易变。
展开
-
RabbitMQ教程之php-amqplib(一)安装RabbitMQ
Installing on Debian / Ubuntu添加 /etc/apt/preferences.d/erlang# /etc/apt/preferences.d/erlangPackage: erlang*Pin: version 1:19.3-1Pin-Priority: 1000Package: esl-erlangPin: version 1:19.3.6Pin-Pri翻译 2017-08-17 16:45:14 · 2456 阅读 · 1 评论 -
RabbitMQ教程之php-amqplib(二)简介、入门
RabbitMQ 简介、入门介绍RabbitMQ 是一个消息代理:它接收并转发消息。你可以把它当成一个邮局,当你把你想发送的邮件投进邮箱时,你可以确定邮递员最终会把邮件送到你的收件人。在上面的比喻中,我们把 RabbitMQ 比作 邮箱、邮局、邮递员。RabbitMQ 和 邮局主要的不同是RabbitMQ不处理真实的信件,它接收、存储和转发二进制的数据–消息(message)。RabbitMQ和消息翻译 2017-08-17 16:49:05 · 18453 阅读 · 3 评论 -
RabbitMQ教程之php-amqplib(七)远程调用
远程调用 PRC(Remote procedure Call) using php-amqplib在第二节教程中,我们知道了怎样使用工作队列将耗时的任务分发给多个消费者。但是,如果我们需要在远程计算机上运行并等待结果怎么办?那样就是一个新的应用场景。这种模式通常称为远程调用或者叫 PRC。在本教程中,我们将使用RabbitMQ构建一个RPC系统:一个客户端和一个可扩展的RPC服务器。由于我们没翻译 2017-08-22 17:13:23 · 4008 阅读 · 0 评论 -
RabbitMQ教程之php-amqplib(六)主题
主题 (topics) using php-amqplib在上一节教程中,我们改进了我们的日志记录系统。我们使用可以选择性接收信息的 direct 类型交换机,而不是使用只能进行虚拟广播的 fanout 类型交换机。虽然使用 direct 类型交换改进了我们的系统,但它仍有限制 - 它不能基于对多个标准进行路由选择。在我们的日志系统中,我们可能不仅要根据日志的严重性订阅日志,还可以基于发出日志翻译 2017-08-22 17:11:58 · 3145 阅读 · 0 评论 -
RabbitMQ教程之php-amqplib(五)路由
路由(Routing) using php-amqplib在上一节中,我们构建了一个简单的日志系统。它能够向多个接收器广播消息。在本教程中,我们将在上一节基础上添加一个功能 - 我们将实现能够只订阅一部分消息。例如,我们想能够仅将关键的错误消息保存到日志文件(以节省磁盘空间),同时仍然能够在控制台打印所有日志消息。绑定在前面的例子中,我们已经创建了绑定。你能回忆之前的代码:$channel->翻译 2017-08-22 17:10:39 · 2427 阅读 · 0 评论 -
RabbitMQ教程之php-amqplib(四)订阅、发布
Publish/Subscribe using php-amqplib在上一节中我们创建了一个工作队列。在工作队列背后的假设是每个任务都交付给一个工作进程处理。在这一节中,我们会做一些完全不同的事情–我们会向多个消费者传递相同的信息。这种模式被称为“发布/订阅”。为了说明这种模式,我们将搭建一个简单的日志记录系统。它将包括两段程序–第一个将产生日志消息,第二个将接收并且打印它们。在我们的日志记翻译 2017-08-22 17:09:02 · 4600 阅读 · 0 评论 -
RabbitMQ教程之php-amqplib(三)工作队列
Work Queues using php-amqplib在第一篇教程中,我们编写了两段程序通过一个指定的队列来收发消息。在本节教程中,我们将创建一个工作队列,用于多个工作人员之间分配耗时的任务。工作队列(又名:任务队列)其主要的思想是避免立即执行资源密集型任务,并且阻塞进程等待任务完成。相反,我们让这类型任务稍后执行,我们将它封装为消息,并将其添加到任务队列中。在后台启动一个工作进程,读取工翻译 2017-08-17 16:52:46 · 6301 阅读 · 2 评论