消息中间件
Bolon0708
昨日已成过往,明日未来可期。
展开
-
【MQ】哥们,你们的系统架构中为什么要引入消息中间件?
目录一、你们公司生产环境用的是什么消息中间件?二、为什么在你们系统架构中要引入消息中间件?1)系统解耦 2)异步调用 3)流量削峰 三、引入消息中间件之后会有什么好处以及坏处?1.系统可用性降低2.系统稳定性降低3.分布式一致性问题三、总结这篇文章开始,我们把消息中间件这块高频的...转载 2019-07-16 14:17:26 · 387 阅读 · 0 评论 -
高并发架构系列:MQ消息队列的12点核心原理总结
目录1. 消息生产者、消息者、队列2.设计Broker主要考虑3. 点对点消息队列模型4. 发布订阅消息模型Topic5.点对点和发布订阅的区别6. 消息的顺序性保证7. 消息的ACK机制8.最终一致性的设计思路9. 消息的事务支持10. 消息的持久化11. 消息队列的高可用性12.消息队列的选型和应用场景消息队列设计:如何从0到1设计一个MQ消...转载 2019-08-27 14:37:50 · 187 阅读 · 0 评论 -
高并发架构系列:Kafka、RocketMQ、RabbitMQ的优劣势比较
目录最全MQ消息队列有哪些MQ消息队列的技术应用1.解耦2.最终一致性2.广播3.错峰与流控Kafka、RocketMQ、RabbitMQ比较1.ActiveMQ2.Kafka3.RabbitMQ4.RocketMQ消息队列选择建议在高并发业务场景下,典型的阿里双11秒杀等业务,消息队列中间件在流量削峰、解耦上有不可替代的作用。之前介绍了MQ...转载 2019-08-27 14:21:08 · 233 阅读 · 0 评论 -
消息队列之 RabbitMQ
目录什么叫消息队列为何用消息队列RabbitMQ 特点RabbitMQ 中的概念模型消息模型RabbitMQ 基本概念AMQP 中的消息路由Exchange 类型directfanouttopicRabbitMQ 安装RabbitMQ 运行和管理Java 客户端访问RabbitMQ 集群RabbitMQ 集群中的一些概念Rabbi...转载 2019-08-26 15:42:57 · 2825 阅读 · 0 评论 -
RabbitMQ与AMQP模型概览
目录RabbitMQ 简介消息模型点对点模式发布订阅模式AMQP 模型简介AMQP 的基本概念Exchange 和 Exchange 类型关于默认 ExchangeDirect Exchangefanout exchangetopic exchangeheader exchangeQueue队列名持久队列队列的绑定消费者消息的...转载 2019-08-26 13:40:57 · 948 阅读 · 2 评论 -
高并发架构系列:分布式之消息中间件的特点、选型、及应用场景详解
目录什么是消息队列为什么需要消息队列消息队列的优点消息队列的特点消息队列的选型消息队列的应用场景消息队列使用总结消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴...转载 2019-08-22 19:22:23 · 984 阅读 · 0 评论 -
高并发架构系列:详解RPC远程调用和消息队列MQ的区别
目录什么是RPCRPC服务框架有哪些RPC的一般需要经历4个步骤:1、建立通信2、服务寻址3、网络传输4、服务调用MQ(消息队列)RPC和MQ的区别和关联谈到分布式架构,就不得不谈到分布式架构的基石RPC。什么是RPCRPC(Remote Procedure Call)远程过程调用,主要解决远程通信间的问题,不需要了解底层网络的通信机制。RPC服...转载 2019-08-22 17:37:02 · 435 阅读 · 0 评论 -
消息队列基本简介、使用场景及常见MQ介绍
目录消息队列和消息常见的消息队列有那些?使用消息队列的场景和好处1.通过异步处理提高系统性能2.降低系统耦合性常见的消息队列介绍1.ActiveMQ2.RabbitMQ3. Kafka4. RocketMQ消息队列和消息“消息队列”(Message queue)是在消息的传输过程中保存消息的容器。“消息” 是在两台计算机间传送的数据单位。消息可以非...转载 2019-08-20 20:24:26 · 512 阅读 · 0 评论 -
【MQ】高并发场景下,如何保证生产者投递到消息中间件的消息不丢失?
目录1、前情提示2、保证投递消息不丢失的confirm机制3、confirm机制的代码实现4、confirm机制投递消息的高延迟性5、高并发下如何投递消息才能不丢失6、消息中间件全链路100%数据不丢失能做到吗?1、前情提示上篇文章:《面试大杀器:消息中间件如何实现消费吞吐量的百倍优化?》,我们分析了RabbitMQ开启手动ack机制保证消费端数据不丢失的时候,pr...转载 2019-07-16 19:47:02 · 447 阅读 · 0 评论 -
【MQ】消息中间件如何实现消费吞吐量的百倍优化?
目录1、前情提示2、unack消息的积压问题3、如何解决unack消息的积压问题4、高并发场景下的内存溢出问题5、低吞吐量问题6、合理的设置prefetch count7、阶段性总结1、前情提示上一篇文章:互联网面试必杀:如何保证消息中间件全链路数据100%不丢失(2),我们分析了ack机制的底层实现原理(delivery tag机制),还有消除处理失败时的na...转载 2019-07-16 17:38:07 · 1101 阅读 · 0 评论 -
【MQ】如何保证消息中间件全链路数据100%不丢失(2)
目录1、前情提示2、ack机制回顾3、ack机制实现原理:delivery tag4、RabbitMQ如何感知到仓储服务实例宕机5、仓储服务处理失败时的消息重发6、阶段总结1、前情提示上一篇文章《互联网面试必杀:如何保证消息中间件全链路数据100%不丢失(1)》,我们初步介绍了之前制定的那些消息中间件数据不丢失的技术方案遗留的问题。一个最大的问题,就是生产者投递...转载 2019-07-16 16:52:58 · 286 阅读 · 0 评论 -
【MQ】如何保证消息中间件全链路数据100%不丢失(1)
目录1、背景引入2、前情回顾3、目前已有的技术方案4、数据100%不丢失了吗?5、按需制定技术方案6、需要研究的技术细节1、背景引入这篇文章,我们来聊聊在线上生产环境使用消息中间件技术的时候,从前到后的全链路到底如何保证数据不能丢失。这个问题,在互联网公司面试的时候高频出现,而且也是非常现实的生产环境问题。如果你的简历中写了自己熟悉MQ技术(RabbitMQ...转载 2019-07-16 16:25:56 · 428 阅读 · 0 评论 -
【MQ】消息中间件集群崩溃,如何保证百万生产数据不丢失?
“上一篇讲消息中间件的文章《扎心!线上服务宕机时,如何保证数据100%不丢失?》,初步给大家介绍了一个在生产环境中可能遇到的问题,就是你的消费者服务可能会宕机,一旦宕机,你就需要考虑是否会导致没处理完的消息丢失。这篇文章,再给不太熟悉MQ技术的同学,介绍另外一个生产环境中可能会遇到的问题。目前为止,你的RabbitMQ部署在线上服务器了,对吧?然后订单服务和仓储服务都可以基于RabbitM...转载 2019-07-16 16:13:58 · 1590 阅读 · 0 评论 -
【MQ】扎心!线上服务宕机时,如何保证数据100%不丢失?
目录一、写在前面二、业务场景回顾三、意外宕机,问题凸现四、总结 tips一、写在前面上篇文章《同学,消息中间件在你们生产项目里如何落地使用的?》,我们用一个简单易懂的电商场景给大家引入说明了一个消息中间件的使用场景。同时,我们还基于RabbitMQ的HelloWorld级别的代码,给出了订单服务和仓储服务如何基于MQ中间件收发消息的示例。二、业务场景回顾这篇文...转载 2019-07-16 15:59:21 · 1364 阅读 · 1 评论 -
【MQ】哥们,消息中间件在你们项目里是如何落地的?
目录一、前情回顾二、业务场景介绍三、初步落地一、前情回顾之前给大家聊了一下,面试时如果遇到消息中间件这个话题,面试官上来可能问的两个问题: 你们的系统架构中为什么要引入消息中间件? 系统架构中引入消息中间件有什么缺点? 关于这两个问题的回答,可以参见之前的两篇文章: 《哥们,你们的系统架构中为什么要引入消息中间件?》 在问完这两个问题之后,不同风...转载 2019-07-16 15:38:53 · 407 阅读 · 0 评论 -
RabbitMQ面试专题
目录1.什么是rabbitmq2.为什么要使用rabbitmq3.使用rabbitmq的场景4.如何确保消息正确地发送至RabbitMQ? 如何确保消息接收方消费了消息?5.如何避免消息重复投递或重复消费?6.消息基于什么传输?7.消息如何分发?8.消息怎么路由?9.如何确保消息不丢失?10.使用RabbitMQ有什么好处?11.rabbitmq的集群...转载 2019-08-27 16:03:15 · 221 阅读 · 0 评论