rabbitmq
caomiao2006
这个作者很懒,什么都没留下…
展开
-
RabbitMQ消息队列(九):Publisher的消息确认机制
在前面的文章中提到了queue和consumer之间的消息确认机制:通过设置ack。那么Publisher能不到知道他post的Message有没有到达queue,甚至更近一步,是否被某个Consumer处理呢?毕竟对于一些非常重要的数据,可能Publisher需要确认某个消息已经被正确处理。 在我们的系统中,我们没有是实现这种确认,也就是说,不管Message是否被Consum转载 2015-06-08 20:16:57 · 758 阅读 · 0 评论 -
RabbitMQ消息队列(一): Detailed Introduction 详细介绍
1. 历史 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现。AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SOAP 等),但是在异步消息处理中却不是这样,只有大企业有一些商业实现(如微软的 MSMQ ,IBM 的 Websphere M转载 2015-06-08 20:14:27 · 615 阅读 · 0 评论 -
RabbitMQ消息队列(四):分发到多Consumer(Publish/Subscribe)
RabbitMQ消息队列(三):任务分发机制 上篇文章中,我们把每个Message都是deliver到某个Consumer。在这篇文章中,我们将会将同一个Message deliver到多个Consumer中。这个模式也被成为 "publish / subscribe"。 这篇文章中,我们将创建一个日志系统,它包含两个部分:第一个部分是发出log(Produc转载 2015-06-08 20:14:29 · 512 阅读 · 0 评论 -
RabbitMQ消息队列(二):”Hello, World“
RabbitMQ消息队列(一): Detailed Introduction 详细介绍 本文将使用Python(pika 0.9.8)实现从Producer到Consumer传递数据”Hello, World“。 首先复习一下上篇所学:RabbitMQ实现了AMQP定义的消息队列。它实现的功能”非常简单“:从Producer接收数据然后传递到Consumer。它转载 2015-06-08 20:14:49 · 596 阅读 · 0 评论 -
RabbitMQ消息队列(五):Routing 消息路由
上篇文章中,我们构建了一个简单的日志系统。接下来,我们将丰富它:能够使用不同的severity来监听不同等级的log。比如我们希望只有error的log才保存到磁盘上。 1. Bindings绑定 上篇文章中我们是这么做的绑定: [python] view plaincopy channel.queue_bind(exch转载 2015-06-08 20:14:53 · 606 阅读 · 0 评论 -
RabbitMQ消息队列(六):使用主题进行消息分发
在上篇文章RabbitMQ消息队列(五):Routing 消息路由 中,我们实现了一个简单的日志系统。Consumer可以监听不同severity的log。但是,这也是它之所以叫做简单日志系统的原因,因为是仅仅能够通过severity设定。不支持更多的标准。 比如syslog unix的日志工具,它可以通过severity (info/warn/crit...) 和模块(au转载 2015-06-08 20:15:21 · 664 阅读 · 0 评论 -
RabbitMQ消息队列的小伙伴(八): ProtoBuf(Google Protocol Buffer)
什么是ProtoBuf? 一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。 它可以作为RabbitMQ的Message的数据格式进行传输,由于是结构化的数转载 2015-06-08 20:16:20 · 1190 阅读 · 0 评论 -
RabbitMQ消息队列(九):Publisher的消息确认机制
在前面的文章中提到了queue和consumer之间的消息确认机制:通过设置ack。那么Publisher能不到知道他post的Message有没有到达queue,甚至更近一步,是否被某个Consumer处理呢?毕竟对于一些非常重要的数据,可能Publisher需要确认某个消息已经被正确处理。 在我们的系统中,我们没有是实现这种确认,也就是说,不管Message是否被Consum转载 2015-06-08 20:19:07 · 1510 阅读 · 0 评论 -
spring整合消息队列rabbitmq
spring大家太熟,就不多说了 rabbitmq一个amqp的队列服务实现,具体介绍请参考本文http://lynnkong.iteye.com/blog/1699684 本文侧重介绍如何将rabbitmq整合到项目中 ps:本文只是简单一个整合介绍,属于抛砖引玉,具体实现还需大家深入研究哈.. 1.首先是生产者配置 ?转载 2015-06-08 20:19:15 · 8630 阅读 · 1 评论 -
【架构】关于RabbitMQ
1 什么是RabbitMQ? RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然: 单向解耦 双向解耦(如:RPC) 例如一个日志系统,很容易使用RabbitM转载 2015-06-08 20:19:50 · 684 阅读 · 0 评论 -
RabbitMQ消息队列:ACK机制
每个Consumer可能需要一段时间才能处理完收到的数据。如果在这个过程中,Consumer出错了,异常退出了,而数据还没有处理完成,那么 非常不幸,这段数据就丢失了。因为我们采用no-ack的方式进行确认,也就是说,每次Consumer接到数据后,而不管是否处理完 成,RabbitMQ Server会立即把这个Message标记为完成,然后从queue中删除了。 如果一个Cons转载 2015-06-08 20:12:15 · 22415 阅读 · 0 评论 -
RabbitMQ消息队列(七):适用于云计算集群的远程调用(RPC)
在云计算环境中,很多时候需要用它其他机器的计算资源,我们有可能会在接收到Message进行处理时,会把一部分计算任务分配到其他节点来完成。那么,RabbitMQ如何使用RPC呢?在本篇文章中,我们将会通过其它节点求来斐波纳契完成示例。 1. 客户端接口 Client interface 为了展示一个RPC服务是如何使用的,我们将创建一段很简单的客户端class。 它转载 2015-06-08 20:15:49 · 715 阅读 · 0 评论 -
RabbitMQ消息队列(三):任务分发机制
RabbitMQ消息队列(二):”Hello, World“ 在上篇文章中,我们解决了从发送端(Producer)向接收端(Consumer)发送“Hello World”的问题。在实际的应用场景中,这是远远不够的。从本篇文章开始,我们将结合更加实际的应用场景来讲解更多的高级用法。 当有Consumer需要大量的运算时,RabbitMQ Server需要一定的分发机制来转载 2015-06-08 20:14:02 · 918 阅读 · 0 评论