• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!

标签:RabbitMQ

RabbitMQ对网络分区的处理

rabbitmq没有很好的分区容错性,因此,如果需要在广域网里使用rabbitmq集群,建议使用federation或者shovel进行替代。那么即使rabbitmq集群运行在局域网内也不能完全避免网络分区现象(network partition),例如,当路由器或者交换机出现问题,或者网口down掉时,都可能发生网络分区。 那么,出现网络分区对rabbit……

Docker:搭建RabbitMQ集群

学习参考文章: RabbitMQ原理介绍(一) RabbitMQ安装使用(二) RabbitMQ添加新用户并支持远程访问(三) RabbitMQ管理命令rabbitmqctl详解(四) RabbitMQ两种集群模式配置管理(五) RabbitMQ应用实例Python版-Hello World RabbitMQ应用实例Python版-工作队列 RabbitMQ……

RabbitMQ应用实例Python版-路由

路由(Routing) 在前面的教程中,我们实现了一个简单的日志系统。可以把日志消息广播给多个接收者。本篇教程中我们打算新增一个功能 —— 使得它能够只订阅消息的一个字集。例如,我们只需要把严重的错误日志信息写入日志文件(存储到磁盘),但同时仍然把所有的日志信息输出到控制台中。 绑定(Bindings) 前面的例子,我们已经创建过绑定(bindings),代……

RabbitMQ应用实例Python版-发布/订阅

发布/订阅 我们搭建了一个工作队列,每个任务只分发给一个工作者(worker)。在本篇教程中,我们要做的跟之前完全不一样 —— 分发一个消息给多个消费者(consumers)。这种模式被称为“发布/订阅”。 为了描述这种模式,我们将会构建一个简单的日志系统。它包括两个程序——第一个程序负责发送日志消息,第二个程序负责获取消息并输出内容。 在我们的这个日志系统……

RabbitMQ应用实例Python版-工作队列

工作队列 在第一篇教程中,我们已经写了一个从已知队列中发送和获取消息的程序。在这篇教程中,我们将创建一个工作队列(Work Queue),它会发送一些耗时的任务给多个工作者(Worker)。 工作队列(又称:任务队列——Task Queues)是为了避免等待一些占用大量资源、时间的操作。当我们把任务(Task)当作消息发送到队列中,一个运行在后台的工作者(w……

RabbitMQ应用实例Python版-消息确认和消息持久化

消息确认 当处理一个比较耗时得任务的时候,你也许想知道消费者(consumers)是否运行到一半就挂掉。当前的代码中,当消息被RabbitMQ发送给消费者(consumers)之后,马上就会在内存中移除。这种情况,你只要把一个工作者(worker)停止,正在处理的消息就会丢失。同时,所有发送到这个工作者的还没有处理的消息都会丢失。 我们不想丢失任何任务消息。……

RabbitMQ添加新用户并支持远程访问(三)

使用rabbitctl添加用户 第一、添加mq用户并设置密码 root@live-mq-01:~ # rabbitmqctl add_user mq 123456 1 root@live-mq-01:~ # rabbitmqctl add_us……

RabbitMQ两种集群模式配置管理(五)

RabbitMQ集群的两种模式 1)普通模式:默认的集群模式。 2)镜像模式:把需要的队列做成镜像队列。 普通模式:默认的集群模式 RabbitMQ集群中节点包括内存节点、磁盘节点。内存节点就是将所有数据放在内存,磁盘节点将数据放在磁盘上。如果在投递消息时,打开了消息的持久化,那么即使是内存节点,数据还是安全的放在磁盘。那么内存节点的性能只能体现在资源管理上……

RabbitMQ应用实例Python版-Hello World

Python版RabbitMQ应用实例教程 RabbitMQ应用实例Python版-Hello World RabbitMQ应用实例Python版-工作队列 RabbitMQ应用实例Python版-消息确认和消息持久化 RabbitMQ应用实例Python版-发布/订阅 RabbitMQ应用实例Python版-路由 介绍 RabbitMQ是一个消息代理。……

RabbitMQ安装使用(二)

安装到Debian/Ubuntu系统中 自Debian since 6.0 (squeeze) 和 Ubuntu 9.04 之后,rabbitmq-server就已经被内置其中了。然而这些被包含在内的版本往往过低。所以从我们网站上下载 .deb 文件来安装可以达到更好的效果。查看Debian安装包和Ubuntu安装包来确认适用于指定发行版的可用版本。 你可以……

RabbitMQ管理命令rabbitmqctl详解(四)

学习rabbitmq,原理之后第一个要掌握的就是rabbitmqctl这个命令的用法了,rabbitmq的管理功能最全的就是rabbitmqctl命令了,当然还有HTTP API和UI两种管理手段。 rabbitmqctl的使用方法: rabbitmqctl [-n <node>] [-q] <command&……

RabbitMQ原理介绍(一)

一、RabbitMQ历史 RabbitMQ消息系统是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现。在同步消息通讯的世界里有很多公开标准(如COBAR的IIOP,或者是SOAP等),但是在异步消息处理中却不是这样,只有大企业有一些商业实现(如微软的MSMQ ,IBM的Websphere MQ等),因此,在2006……