随笔分类 - RabbitMQ运维
RabbitMQ 运维知识,说明日常工作中的运维知识及情况
摘要:如果RabbitMQ集群只有一个broker节点,那么该节点的失效将导致整个服务临时性的不可用,并且可能会导致message的丢失(尤其是在非持久化message存储于非持久化queue中的时候)。可以将所有message都设置为持久化,并且使用持久化的queue,但是这样仍然无法避免由于缓存导致的
阅读全文
摘要:RabbitMQ集群部署完成,通过HAProxy反向代理来提供统一的对RabbitMQ的访问入口。 1.Haproxy提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。(负载均衡策略有很多:轮询、加权轮询、源地址哈希、最小连接数等等) 2.为什么使用集群?面对大量业务访问、高并发请求可
阅读全文
摘要:随着公司业务量的增加,原本部署在Windows服务器的RabbitMQ集群(3.6.1)总是出现莫名其妙的问题,经查询官方Issue,确认是RabbitMQ 3.6.1 版本的bug。查看从3.6.1 版本至 3.7.9 版本的变更日志,可以发现RabbitMQ官方修复了不少bug,本着版本越新 b
阅读全文
摘要:上篇我们提到不使用RPM安装RabbitMQ 3.7.8,其实我个人更倾向不使用RPM安装RabbitMQ,因为可以控制安装位置及设置参数。 存在即合理,使用RPM安装RabbitMQ,可以减少配置参数的烦恼,使用RPM之前建议先通过不使用RPM的方式安装,以便了解各种参数及其含义。 安装Rabbi
阅读全文
摘要:RabbitMQ 队列分为几种类型,按照不同维度来分,可以分为排他性队列、普通队列、延迟队列、惰性队列、发布订阅队列等。 今天我们讨论的主角是惰性队列 Lazy Queue。众所周知,队列可以存储消息并实现消息收发,这应该是消息队列中最重要的功能之一。 我们使用消息队列有几个优势,解耦、高效、发完不
阅读全文
摘要:互联网公司对消息队列是深度使用者,因此需要我们了解消息队列的方方面面,良好的设计及深入的理解,更有利于我们对消息队列的规划。 当前我们使用消息队列中发现一些问题: 1、实际上是异步无返回远程调用,由发布者定义队列,消费者订阅已定义的队列。 2、并没有体现解耦设计,而且开发人员间依然要像单体项目开发那
阅读全文
摘要:RabbitMQ是目前非常热门的消息中间件,凭借其高可靠、高扩展、高可用及丰富的功能特性:TTL、死信队列、延迟队列、优先级队列、消息持久化、镜像队列。 消息中间件是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成,能在不同平台之间进行通信,常被用来屏蔽各种
阅读全文
摘要:问题背景 如果拿到消息后立即回调,可能因为mdc事务、缓存、从库延迟等原因,拿到变化前的信息,所以mdc希望能延迟一段时间再来消费此消息。 目标 总体方案 3.1. 实现原理 结合以上两个特性,就可以模拟出延迟消息的功能 参考资料: 3.2. 技术方案 方案一:针对Queue设置延迟时间 方案二:针
阅读全文
摘要:RabbitMQ是一款优秀的消息队列中间件,提供了稳定、监控完善的产品,但是软件就会有bug。为了前进路径可以畅通,我们必须了解出现的一些故障的快速处理方式,毕竟在生产环境,时间就是生命,尽快的处理是避免产生事故的最有效方式。了解常见的一些故障,我们可以有针对的处理预案,快速、高效的处理故障,更好的运维是我们一直的追求。查看故障信息,RabbitMQ出现故障,要通过一些有效途径快速的获取故障...
阅读全文
摘要:RabbitMQ消息处理失败,我们会让失败消息进入重试队列等待执行,因为在重试队列距离真正执行还需要定义的时间间隔,因此,我们可以将重试队列设置成延时处理。今天参考网上其他人的实现,简单梳理下消息延时重试执行的思路。 消费失败后,自动延时将消息重新投递,当达到一定的重试次数后,将消息投递到失败消息队
阅读全文
摘要:1、消息队列种类繁多,例如RabbitMQ、ActiveMQ、ZeroMQ、Kafka等,消息队列的使用场景主要有:异步处理、应用解耦、流量消峰及消息通讯等。 RabbitMQ是采用Erlang语言、基于AMQP(Advanced Message Queue Protocol 高级消息队列协议)的开
阅读全文
摘要:RabbitMQ 消息收发是按顺序收发,一般情况下是先收到的消息先处理,即可以实现先进先出的消息处理。但如果消息者宕机或其他原因,导致消息接收以后,未确认,那么消息会重新Requeue到队列中,就打破了消息的顺序处理原则。如果我们有一个优先级特别高的消息需要处理,有没有特权呢?答案是在不搞小动作的情
阅读全文
摘要:正所谓,没有软件敢说没有bug,人无完人,software is not perfect software。是软件就可能存在bug,那么如果出现bug,我们就要分析对我们业务的影响及可能如何避免bug的再现。 HAProxy也不例外,也可能在特殊场景下出现bug,因此我们就有必要记录下必要的日志信息
阅读全文
摘要:特来电是一个互联网公司,而且是技术领先的互联网公司。互联网公司的标配是什么?答案就是缓存+MQ。没错,您没看错,就是MQ--消息队列,我们今天要讨论的RabbitMQ就是消息队列中功能非常强大的一种。那么RabbitMQ在特来电是如何应用的呢?这就是今天这篇博文的目的,让您连接RabbitMQ在特来
阅读全文