【校招VIP】 java开源框架之mq

06月27日 收藏 0 评论 0 java开发

【校招VIP】 java开源框架之mq

考点介绍:

MQ(Message Queue)消息队列,是基础数据结构中“先进先出”的一种数据结构。一般用来解决应用解耦,异步消息,流量削峰等问题,实现高性能,高可用,可伸缩和最终一致性架构。

本期分享的java开源框架之mq,分为试题、文章以及视频三部分。

答案详情解析和文章内容点击下方链接即可查看!

一、考点题目

1.如何保证RabbitMQ消息的可靠传输?

解答:消息不可靠的情况可能是消息丢失,劫持等原因;丢失又分为:生产者丢失消息、消息列表丢失消息、消费者丢失消息;1.生产者丢失消息:从生产者弄丢数据这个角度来看,RabbitMQ提供transaction和confirm模式来确保生产者不丢消息;transaction机制就是说:发送消息前,开启事务(channel.txSelect()),然后发送消息,如果发送过程中出现什么异常,事务就会回滚(channel.txRollback()),如果发送成功则提交事务(channel.txCommit())。然而,这种方式有个缺点:吞吐量下降……

2.如何确保消息正确地发送至 RabbitMQ? 如何确保消息接收方消费了消息?

解答:发送方确认模式,将信道设置成 confirm 模式(发送方确认模式),则所有在信道上发布的消息都会被指派一个唯一的 ID。一旦消息被投递到目的队列后,或者消息被写入磁盘后(可持久化的消息),信道会发送一个确认给生产者(包含消息唯一 ID)。如果 RabbitMQ 发生内部错误从而导致消息丢失,会发送一条 nack(notacknowledged,未确认)消息。发送方确认模式是异步的,生产者应用程序在等待确认的同时,可以继续发送消息。当确认消息到达生产者应用程序,生产者应用程序的回调方法就会被触发来处理确认消息……

3.什么是MQ?MQ的优点有哪些?

解答:MQ就是消息队列。是软件和软件进行通信的中间件产品。优点:1.异步处理 - 相比于传统的串行、并行方式,提高了系统吞吐量。2.应用解耦 - 系统间通过消息通信,不用关心其他系统的处理。3.流量削锋 - 可以通过消息队列长度控制请求量;可以缓解短时间内的高并发请求。4.日志处理 - 解决大量日志传输……

4.为什么要使用 rabbit mq?

解答:1、在分布式系统下具备异步,削峰,负载均衡等一系列高级功能。2、拥有持久化的机制,进程消息,队列中的信息也可以保存下来。3、实现消费者和生产者之间的解耦。4、对于高并发场景下,利用消息队列可以使得同步访问变为串行访问达到一定量的限流,利于数据库的操作……

(答案点击下方链接查看哦)

二、考点文章

1.【校招VIP】消息队列MQ的基础知识

消息队列解决了什么问题?开发人员,想要解决的这个问题就是处理庞大的实时信息,并把它们快速路由到众多的消费者。我们要在不阻塞消息生产者的情况下做到这一点,同时也无须让生产者知道最终消费者是谁。RabbitMQ 帮助我们轻松解决这些常见问题,并用一种基于标准的方法来确保应用程序之间相互通信……

2.【校招VIP】【消息队列MQ】各类MQ比较

目前业界有很多MQ产品,我们作如下对比:RabbitMQ,是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正是如此,使的它变的非常重量级,更适合于企业级的开发。同时实现了一个经纪人(Broker)构架,这意味着消息在发送给客户端时先在中心队列排队。对路由(Routing),负载均衡(Load balance)或者数据持久化都有很好的支持……

3.【校招VIP】消息队列(mq)是什么?技术详解

消息队列不知道大家看到这个词的时候,会不会觉得它是一个比较高端的技术,反正我是觉得它好像是挺牛逼的,消息队列,一般我们会简称它为MQ(Message Queue),嗯,就是很直白的简写。我们先不管消息(Message)这个词,来看看队列(Queue)。这一看,队列大家应该都熟悉吧。队列是一种先进先出的数据结构……

三、考点视频

1.TCP建立和结束连接的过程

本题是开发类一线校招专业课必考题之一,需要在理解TCP协议的基础上,记忆过程中的状态码、字段和标志位,最好是能够在理解的前提下,背下状态图,属于面试5星必备考点……

移动端链接:https://m.xiaozhao.vip/dTopic/detail/711

PC端链接:https://xiaozhao.vip/dTopic/detail/711

C 0条回复 评论

帖子还没人回复快来抢沙发