![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
消息中间件
JustinNeil
年少是你未醒的梦话,风华是燃尽的彼岸花
展开
-
消息队列
消息队列前言什么是消息队列为什么要使用消息队列通过异步处理提高系统性能降低系统耦合性利用消息队列实现事件驱动结构使用消息队列带来的问题 前言 “ActiveMQ?”“Kafka?”“RocketMQ?”“RabbitMQ?”…在日常学习与开发过程中,我们常常听到消息队列这个关键词。我也在多篇文章中提到了这个概念。可能你是熟练使用消息队列的老手,又或者你是不懂消息队列的新手,不论你了不了解消息队列,...原创 2019-08-08 11:03:49 · 1233 阅读 · 1 评论 -
消息中间件
消息中间件概述常用消息队列ActiveMQRabbotMQKafka 概述 消息中间件,也可以叫做消息队列(区别于本地消息队列,本地消息队列指的是JVM内的队列实现),是一种独立的队列系统,消息中间件经常被用来解决内部服务间的异步调用问题 。请求服务方把请求放到队列中即可返回,然后等待服务提供方去队列中获取请求进行处理,之后通过回调机制把结果返回给请求服务方。 异步调用只是消息中间件一个非常常见的...原创 2019-08-07 20:05:15 · 899 阅读 · 0 评论 -
消息队列的延时以及过期失效问题
消息队列的延时以及过期失效问题问题引入问题剖析大量消息在MQ中积压得不到解决MQ中的消息过期失效了MQ都快写满了 问题引入 如何解决消息队列的延时以及过期失效的问题?消息队列满了以后怎么处理?有大量消息持续挤压又要怎么处理?这些问题在消息队列领域都比较常见,其实本质针对的场景,都是说,可能你的消费端出了问题,不消费了;或者消费的速度极其慢。接着就坑爹了,可能你的消息队列集群的磁盘都快写满了,都...原创 2019-08-14 14:52:54 · 1813 阅读 · 0 评论 -
如何保证消息的顺序性
如何保证消息的顺序性面试题引入面试题剖析RabbitMQ解决方案Kafka解决方案 面试题引入 在消息队列领域的问题里,如何保证消息的顺序性也是一个高频考点。第一看看你了不了解顺序这个事儿?第二看看你有没有办法保证消息是有顺序的?这是生产系统中常见的问题。 面试题剖析 举个例子,我们以前做过一个 mysql binlog 同步的系统,压力还是非常大的,日同步数据要达到上亿,就是说数据从一个 m...原创 2019-08-14 14:04:24 · 253 阅读 · 0 评论 -
如何保证消息的可靠性传输
如何保证消息的可靠性传输面试题引入面试题剖析RabbitMQKafka 面试题引入 如何保证消息的可靠性传输?其实就是在问你,如何保证消息不丢失。用消息有个基本原则,就是数据不能多一条,也不能少一条,不能多,就是前文说的重复消费和幂等性问题。不能少,就是说这数据别搞丢了。那这个问题你必须得考虑一下。 面试题剖析 数据的丢失问题,可能出现在生产者、MQ、消费者中,我们从 RabbitMQ 和 Kaf...原创 2019-08-14 12:59:19 · 2087 阅读 · 0 评论 -
如何解决消息的重复消费
如何解决消息的重复消费面试题引入面试题剖析 面试题引入 在消息队列领域,如何解决消息的重复消费是很常见的一个问题。既然是消费消息,那肯定要考虑会不会重复消费?能不能避免重复消费?或者重复消费了也别造成系统异常可以吗?这个是消息队列领域的基本问题,其实本质上还是问你使用消息队列如何保证幂等性,这个是你架构里要考虑的一个问题。 面试题剖析 要回答这个问题,首先你别听到重复消费这个事儿,就一无所知吧...原创 2019-08-14 11:08:40 · 4103 阅读 · 0 评论 -
如何保证消息队列的高可用?
如何保证消息队列的高可用问题引入问题剖析RabbitMQ的高可用单机模式普通集群模式(无高可用性)镜像集群模式Kafka的高可用性 问题引入 如果有人问到你MQ的知识,高可用几乎是必问的。MQ 会导致系统可用性降低。所以只要你用了 MQ,接下来问的一些要点肯定就是围绕着 MQ 的那些缺点怎么来解决了。 要是你傻乎乎的就干用了一个 MQ,各种问题从来没考虑过,那你就杯具了,面试官对你的感觉就...原创 2019-08-14 10:47:18 · 181 阅读 · 0 评论 -
常见消息队列对比
常见消息队列对比前言消息队列对比表总结 前言 本文主要从多个方面对比几种常见的消息队列 消息队列对比表 对比方向 ActiveMQ RabbitMQ RocketMQ Kafka 吞吐量 万级(最差) 万级 十万级 百万级 可用性 基于主从实现高可用 基于主从实现高可用 基于分布式实现高可用 基于分布式实现高可用 时效性 ms级 微妙级 ms级 ms级 功能支持 较完备...原创 2019-08-08 16:57:39 · 342 阅读 · 1 评论 -
AMQP
AMQP简介JMS 与AMQP对比总结 简介 AMQP(Advanced Message Queuing Protocol),一个提供统一消息服务的应用层标准。高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计,兼容 JMS。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件同产品,不同的开发语言等条件的限制。 RabbitMQ 就是基于 AMQP 协议实现的。 ...原创 2019-08-08 16:42:16 · 315 阅读 · 0 评论 -
JMS
JMSJMS 简介两种消息模型点到点(P2P)模型发布/订阅(Pub/Sub)模型五种不同的消息正文格式 JMS 简介 JMS(JAVA Message Service)是java的消息服务,JMS的客户端之间可以通过JMS服务进行异步的消息传输。JMS(JAVA Message Service)API是一个消息服务的标准或者说是规范,允许应用程序组件基于JavaEE平台创建、发送、接收和读取消息...原创 2019-08-08 15:03:26 · 188 阅读 · 0 评论 -
如何设计一个消息队列
如何设计一个消息队列前言面试官心理分析面试题剖析 前言 在面试中,消息队列也是经常被考察的点,本文中我们将要来分析的面试题是: 如果让你写一个消息队列,该如何进行架构设计?说一下你的思路。 面试官心理分析 其实聊到这个问题,一般面试官要考察两块: 你有没有对某一个消息队列做过较为深入的原理的了解,或者从整体了解把握住一个消息队列的架构原理。看看你的设计能力,给你一个常见的系统,就是消息...原创 2019-08-27 11:16:30 · 1024 阅读 · 0 评论