关闭

基于Python语言使用RabbitMQ消息队列(六)

远程过程调用(RPC)在第二节里我们学会了如何使用工作队列在多个工人中分布时间消耗性任务。 但如果我们想要运行存在于远程计算机上的方法并等待返回结果该如何去做呢?这就不太一样了,这种模式就是常说的远程过程调用(RPC)。 在本节我们会在本节我们会使用RabbitMQ创建一个RPC系统:一个客户端和一个可扩展(scalable)的RPC服务。由于我们没什么真正的时间消耗型任务去分配,我们就创建一个...
阅读(75) 评论(0)

基于Python语言使用RabbitMQ消息队列(五)

Topics在前面教程中我们改进了日志系统,相比较于使用fanout类型交易所只能傻瓜一样地广播,我们用direct获得了选择性接收日志的能力。虽然使用direct类型交易所改进了我们的系统,但它仍然有所限制——它不能做基于多重条件(multiple criteria)的路由。 在日志系统中我们可能不只是想要基于严重级别来订阅日志。也想要基于产生日志的来源。你可能从unix的系统日志工具(sysl...
阅读(96) 评论(0)

基于Python语言使用RabbitMQ消息队列(四)

路由在上一节我们构建了一个简单的日志系统。我们能够广播消息给很多接收者。在本节我们将给它添加一些特性——我们让它只订阅所有消息的子集。例如,我们只把严重错误(critical error)导入到日志文件(存入磁盘空间),但仍然可以打印所有日志消息到控制台。绑定前面的例子中我们已经创建了绑定,像下面这样:channel.queue_bind(exchange=exchange_name,...
阅读(85) 评论(0)

基于Python语言使用RabbitMQ消息队列(三)

发布/订阅前面的教程中我们已经创建了一个工作队列。在一个工作队列背后的假设是每个任务恰好会传递给一个工人。在这一部分里我们会做一些完全不同的东西——我们会发送消息给多个消费者。这就是所谓的“发布/订阅”模式。为了解释这种模式,我们将会构建一个简单的日志系统。它包含两个程序——第一个产生日志消息,第二个接收并把他们打印出来。在我们的日志系统中,每一个接收程序的正在运行的拷贝都会获知消息,那样我们将能够...
阅读(207) 评论(0)

基于Python语言使用RabbitMQ消息队列(二)

工作队列在第一节我们写了程序来向命名队列发送和接收消息 。在本节我们会创建一个工作队列(Work Queue)用来在多个工人(worker)中分发时间消耗型任务(time-consuming tasks)。工作队列(又叫做: Task Queues)背后的主体思想是 避免立刻去执行耗时任务并且等待它们完成。 相反我们可以安排这样的任务稍后执行. 我们可以把任务封装成一个消息并发送到队列中. 一个在后...
阅读(152) 评论(0)

基于Python语言使用RabbitMQ消息队列(一)

介绍RabbitMQ 是一个消息中间人(broker): 它接收并且发送消息. 你可以把它想象成一个邮局: 当你把想要寄出的信放到邮箱里时, 你可以确定邮递员会把信送到收信人那里. 在这个比喻中, RabbitMQ 就是一个邮箱, 同时也是一个邮局和邮递员 . 和邮局的主要不同点在于RabbitMQ不处理纸质信件, 而是 接收(accepts), 存储(stores) 和转发(forwards...
阅读(163) 评论(0)
    个人资料
    • 访问:3797次
    • 积分:298
    • 等级:
    • 排名:千里之外
    • 原创:13篇
    • 转载:5篇
    • 译文:14篇
    • 评论:2条