RabbitMQ相关
JavaBoy_XJ
万般皆苦,唯有自渡!
展开
-
RabbitMQ程序中建议配置
MQ常规配置 # RabbitMq集群配置 程序将自动连接其中的节点,自动切换节点 spring.rabbitmq.addresses=host1:5672,host2:5672,host3:5672 # 指定心跳超时,0为不指定 spring.rabbitmq.requested-heartbeat=3000 # 消息接收确认,可选模式:NONE(不确认)、AUTO(自动确认)、MANUAL...原创 2019-11-29 10:21:49 · 269 阅读 · 0 评论 -
MQ管理端配置
在MQ管理端配置 配置全镜像,在policiess中增加配置 ha-mode:all,此参数表示所有节点全复制 配置节点恢复后自动同步消息 ha-sync-mode: automatic 在命令名配置 开启管理端消息迁移:rabbitmq-plugins enable rabbitmq_shovel rabbitmq_shovel_management 安装延时队列插件:rabbitmq_de...原创 2019-11-29 10:20:57 · 244 阅读 · 0 评论 -
RabbitMQ延迟消息的极限是多少?
之前在写Spring Cloud Stream专题内容的时候,特地介绍了一下如何使用RabbitMQ的延迟消息来实现定时任务。最近正好因为开发碰到了使用过程中发现,延迟消息没有效果,消息直接就被消费了的情况。因此就继续深入研究了一下问题原因,在此记录下来,给碰到类似问题的童鞋们参考。 问题定位 因为不是所有的消息都出现了没有延迟消息效果的因素,通过有问题的消息特征,大致猜测可能是延迟时间过长导致了...转载 2019-08-29 11:34:35 · 399 阅读 · 0 评论 -
如何保证消息的顺序性?
面试题 如何保证消息的顺序性? 面试官心理分析 其实这个也是用 MQ 的时候必问的话题,第一看看你了不了解顺序这个事儿?第二看看你有没有办法保证消息是有顺序的?这是生产系统中常见的问题。 面试题剖析 我举个例子,我们以前做过一个 mysql binlog 同步的系统,压力还是非常大的,日同步数据要达到上亿,就是说数据从一个 mysql 库原封不动地同步到另一个 mysql 库里面去(mysql -...转载 2019-07-31 22:37:49 · 820 阅读 · 0 评论 -
如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题?
面试题 如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题? 面试官心理分析 这个是肯定的,用 MQ 有个基本原则,就是数据不能多一条,也不能少一条,不能多,就是前面说的重复消费和幂等性问题。不能少,就是说这数据别搞丢了。那这个问题你必须得考虑一下。 如果说你这个是用 MQ 来传递非常核心的消息,比如说计费、扣费的一些消息,那必须确保这个 MQ 传递过程中绝对不会把计费消息给弄丢。 面试题剖...转载 2019-07-31 22:31:57 · 247 阅读 · 0 评论 -
如果让你写一个消息队列,该如何进行架构设计?说一下你的思路。
面试题 如果让你写一个消息队列,该如何进行架构设计?说一下你的思路。 面试官心理分析 其实聊到这个问题,一般面试官要考察两块: 你有没有对某一个消息队列做过较为深入的原理的了解,或者从整体了解把握住一个消息队列的架构原理。 看看你的设计能力,给你一个常见的系统,就是消息队列系统,看看你能不能从全局把握一下整体架构设计,给出一些关键点出来。 说实话,问类似问题的时候,大部分人基本都会蒙,因为平时...转载 2019-08-02 22:32:44 · 517 阅读 · 0 评论 -
如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决?
面试题 如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决? 面试官心理分析 你看这问法,其实本质针对的场景,都是说,可能你的消费端出了问题,不消费了;或者消费的速度极其慢。接着就坑爹了,可能你的消息队列集群的磁盘都快写满了,都没人消费,这个时候怎么办?或者是这整个就积压了几个小时,你这个时候怎么办?或者是你积压的时间太长了,导致比如 Ra...转载 2019-08-02 22:28:53 · 198 阅读 · 0 评论 -
如何保证消息不被重复消费?(如何保证消息消费的幂等性)
面试题 如何保证消息不被重复消费?或者说,如何保证消息消费的幂等性? 面试官心理分析 其实这是很常见的一个问题,这俩问题基本可以连起来问。既然是消费消息,那肯定要考虑会不会重复消费?能不能避免重复消费?或者重复消费了也别造成系统异常可以吗?这个是 MQ 领域的基本问题,其实本质上还是问你使用消息队列如何保证幂等性,这个是你架构里要考虑的一个问题。 面试题剖析 回答这个问题,首先你别听到重复消息这个...转载 2019-07-29 17:54:59 · 276 阅读 · 0 评论 -
如何保证消息队列的高可用?
面试题 如何保证消息队列的高可用? 面试官心理分析 如果有人问到你 MQ 的知识,高可用是必问的。上一讲提到,MQ 会导致系统可用性降低。所以只要你用了 MQ,接下来问的一些要点肯定就是围绕着 MQ 的那些缺点怎么来解决了。 要是你傻乎乎的就干用了一个 MQ,各种问题从来没考虑过,那你就杯具了,面试官对你的感觉就是,只会简单使用一些技术,没任何思考,马上对你的印象就不太好了。这样的同学招进来要是做...转载 2019-07-29 17:46:16 · 94 阅读 · 0 评论 -
为什么使用消息队列?消息队列有什么优点和缺点?Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么优点和缺点?
面试题 为什么使用消息队列? 消息队列有什么优点和缺点? Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景? 面试官心理分析 其实面试官主要是想看看: 第一,你知不知道你们系统里为什么要用消息队列这个东西? 不少候选人,说自己项目里用了 Redis、MQ,但是其实他并不知道自己为什么要用这个东西。其实说白了,就是为了用而用,或者是别人设计的架...转载 2019-07-29 17:39:12 · 212 阅读 · 0 评论 -
RabbitMQ 订阅模式
1.订阅模式模型 a) 一个生产者 多个消费者 b) 每个消费者都有自己的队列 c) 生产者没有直接把消息发送给队列,而是先发送给交换机exchange d) 每个队列都要绑定到交换机上 e) 生产者发送的消息是经过交换机的,然后到达队列,就能实现一个消息被多个消费者消费 应用场景: 比如 注册之后需要发送邮件 同时需要发送短信 a) 一个生产者 多个消费者 b) 每个消费者都有自己的队列 c)...转载 2019-01-08 14:52:29 · 393 阅读 · 0 评论 -
RabbitMQ的安装
RabbitMQ安装: ***** RabbitMQ是基于Erlang的,所以首先必须配置Erlang环境.***** 如果没有安装Erlang,则先安装Erlang yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel yum -y install make gcc gcc-c++ kernel m...原创 2019-01-24 17:22:17 · 104 阅读 · 0 评论