2022
02-10
02-10
Java面试题冲刺第十六天--消息队列
目录面试题1:说说你对消息队列的理解,消息队列为了解决什么问题?解耦异步削峰追问1:消息队列有什么优缺点面试题2:对于消息中间机,你们是怎么做技术选型的?面试题3:如何确保消息正确地发送至RabbitMQ?如何确保消息接收方消费了消息?发送方确认模式接收方确认机制追问1:如何保证MQ消息的可靠传输?总结面试题1:说说你对消息队列的理解,消息队列为了解决什么问题?我们公司业务系统一开始体量较小,很多组件都是单机版...
继续阅读 >
目录概述重试一定次数(消息丢失)加入到死讯队列(消息不丢失)总结概述在kafka中,或者是说在任何消息队列中都有个消费顺序的问题。为了保证一个队列顺序消费,当当中一个消息消费异常时,必将影响后续队列消息的消费,这样业务岂不是卡住了。比如笔者举个最简单的例子:我发送1-100的消息,在我的处理逻辑当中msg%5==0我就进行inti=1/0操作,这必将抛异常,一直阻塞在msg=5上,后面6-100无法消费。下面笔者给出解决方案。重...
list原理说明Redis的list是按照插入顺序排序的字符串链表。如图所示,可以通过lpush 和rpop或者rpush和lpop实现消息队列。1lpush和rpop2rpush和lpop消息队列功能实现引入Redis依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>applicat.yml添加Redis配置spring:redis:host:127.0.0.1database:0port:6379...
前言NSQ是Go语言编写的,开源的分布式消息队列中间件,其设计的目的是用来大规模地处理每天数以十亿计级别的消息。NSQ具有分布式和去中心化拓扑结构,该结构具有无单点故障、故障容错、高可用性以及能够保证消息的可靠传递的特征,是一个成熟的、已在大规模生成环境下应用的产品。背景介绍在服务器最开始的时候,基本上在一台主机上就能解决大部分问题,所以一般架构设计如下:但是,突然某一天,来了一个新需求,我们服务器上不...
一、什么是JMSJMS即Java消息服务(JavaMessageService)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持(百度百科给出的概述)。我们可以简单的理解:两个应用程序之间需要进行通信,我们使用一个JMS服务,进行中间的转发,通过JMS的使用,我们可以解除两个程序之间...