2014年2月21日

RabbitMQ消息队列(五):Routing 消息路由

摘要: 上篇文章中,我们构建了一个简单的日志系统。接下来,我们将丰富它:能够使用不同的severity来监听不同等级的log。比如我们希望只有error的log才保存到磁盘上。1. Bindings绑定 上篇文章中我们是这么做的绑定:channel.queue_bind(exchange=exchange_name, queue=queue_name) 绑定其实就是关联了exchange和queue。或者这么说:queue对exchagne的内容感兴趣,exchange要把它的Message deliver到queue中。 实际上,绑定可以带routing_key... 阅读全文

posted @ 2014-02-21 20:04 anzhsoft 阅读(162) 评论(0) 推荐(0) 编辑

RabbitMQ消息队列(四):分发到多Consumer(Publish/Subscribe)

摘要: logs_from_rabbit.logConsumer2:打印到屏幕:$ python receive_logs.py接下来,Producer:$ python emit_log.py使用命令rabbitmqctl list_bindings你可以看我们创建的queue。一个output:$ sudo rabbitmqctl list_bindingsListing bindings ...logs exchange amq.gen-JzTY20BRgKO-HjmUJj0wLg queue []logs exchange amq... 阅读全文

posted @ 2014-02-21 19:38 anzhsoft 阅读(168) 评论(0) 推荐(0) 编辑

RabbitMQ消息队列(三):任务分发机制

摘要: <=== RabbitMQ消息队列(二):”Hello, World“ 在上篇文章中,我们解决了从发送端(Producer)向接收端(Consumer)发送“Hello World”的问题。在实际的应用场景中,这是远远不够的。从本篇文章开始,我们将结合更加实际的应用场景来讲解更多的高级用法。 当有Consumer需要大量的运算时,RabbitMQ Server需要一定的分发机制来balance每个Consumer的load。试想一下,对于web application来说,在一个很多的HTTP request里是没有时间来处理复杂的运算的,只能通过后台的一些工作线程来完成。接下来我们分布 阅读全文

posted @ 2014-02-21 17:59 anzhsoft 阅读(155) 评论(0) 推荐(0) 编辑

导航