版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Rabb it MQ面试题及答案一、什么是 RabbitMQ?采用AMQP高级消息队列协议的一种消息队列技术,最大的特点就 是消费并不需要确保提供方存在,实现了服务之间的高度解耦。二、为什么要使用RabbitMQ?在分布式系统下具备异步,削峰,负载均衡等一系列高级功能;拥有持久化的机制,进程消息,队列中的信息也可以保存下来。实现消费者和生产者之间的解耦。对于高并发场景下,利用消息队列可以使得同步访问变为串行访 问达到一定量的限流,利于数据库的操作。可以使用消息队列达到异步下单的效果,排队中,后台进行逻辑下单。三、RabbitMQ的使用场景有哪些?跨系统的异步通信,所有需要异步交互的地方都可以使
2、用消息 队列。就像我们除了打电话(同步)以外,还需要发短信,发电子邮件(异 步)的通讯方式。多个应用之间的耦合,由于消息是平台无关和语言无关的,而 且语义上也不再是函数调用,因此更适合作为多个应用之间的松耦合 的接口。基于消息队列的耦合,不需要发送方和接收方同时在线。在 企业应用集成(EAI)中,文件传输,共享数据库,消息队列,远程过程 调用都可以作为集成的方法。应用内的同步变异步,比如订单处理,就可以由前端应用将订 单信息放到队列,后端应用从队列里依次获得消息处理,高峰时的大量 订单可以积压在队列里慢慢处理掉。由于同步通常意味着阻塞,而大量 线程的阻塞会降低计算机的性能。消息驱动的架构(ED
3、A),系统分解为消息队列,和消息制造者和 消息消费者,一个处理流程可以根据需要拆成多个阶段(Stage),阶段 之间用队列连接起来,前一个阶段处理的结果放入队列,后一个阶段从 队列中获取消息继续处理。应用需要更灵活的耦合方式,如发布订阅,比如可以指定路由规 则。跨局域网,甚至跨城市的通讯(CDN行业),比如北京机房与广州 机房的应用程序的通信。四、RabbitMQ有哪些重要的角色?RabbitMQ中重要的角色有:生产者、消费者和代理:生产者:消息的创建者,负责创建和推送数据到消息服务器;消费者:消息的接收方,用于处理数据和确认消息;代理:就是RabbitMQ本身,用于扮演“快递”的角色,本身不
4、 生产消息,只是扮演“快递”的角色。五、如何确保消息正确地发送至RabbitMQ?如何确保消息接收方 消费了消息?1、发送方确认模式将信道设置成confirm模式(发送方确认模式),则所有在信道 上发布的消息都会被指派一个唯一的IDo一旦消息被投递到目的队列后,或者消息被写入磁盘后(可持久 化的消息),信道会发送一个确认给生产者(包含消息唯一 ID)。如果RabbitMQ发生内部错误从而导致消息丢失,会发送一条 nack(notacknowledged, 未确认)消息。发送方确认模式是异步的,生产者应用程序在等待确认的同时, 可以继续发送消息。当确认消息到达生产者应用程序,生产者应用程序 的回
5、调方法就会被触发来处理确认消息。2、接收方确认机制消费者接收每一条消息后都必须进行确认(消息接收和消息确认 是两个不同操作)。只有消费者确认了消息,RabbitMQ才能安全地把消 息从队列中删除。这里并没有用到超时机制,RabbitMQ仅通过Consumer的连接 中断来确认是否需要重新发送消息。也就是说,只要连接不中断, RabbitMQ给了 Consumer足够长的时间来处理消息。保证数据的最终 一致性。3、下面罗列几种特殊情况如果消费者接收到消息,在确认之前断开了连接或取消订阅, RabbitMQ会认为消息没有被分发,然后重新分发给下一个订阅的消费 者。(可能存在消息重复消费的隐患,需要
6、去重)如果消费者接收到消息却没有确认消息,连接也未断开,则 RabbitMQ认为该消费者繁忙,将不会给该消费者分发更多的消息。关于Tomcat的面试题一、什么是Tomcat?Tomcat简单的说就是一个运行JAVA的网络服务器,底层是Socket 的一个程序,它也是JSP和Serlvet的一个容器。二、tomcat结构目录有哪些?bin:启动和关闭tomcat的bat文件。conf :配置文件。server.xml该文件用于配置server相关的信息,比如tomcat 启动的端口号,配置主机(Host)。web.xml文件配置与web应用(web应用相当于一个web站点)tomcat-user
7、.xml配置用户名密码和相关权限。lib:该目录放置运行tomcat运行需要的jar包。logs:存放日志,当我们需要查看日志的时候,可以查询信息。webapps:放置我们的web应用。work工作目录:该目录用于存放jsp被访问后生成对应的 server文件和.class文件。三、如何配置Tomcat虚拟目录?1、在server.xml中的节点下添加如下代码。path表示的是访问 时输入的web项目名,docBase表示的是站点目录的绝对路径。2、进入到confCatalinalocalhost文件下,创建一个xml文件, 该文件的名字就是站点的名字。四、Tomcat体系结构是怎样的?浏览器
8、 - to mca t server- service -connec tor - engine 引 丨擎)- host (主机)- web应用。五、- host (主机)- web应用。五、Web请求在Tomcat请求中的请求流程是怎么样的?浏览器输入URL地址;查询本机hosts文件寻找IP;查询DNS服务器寻找IP;向该IP发送Http请求;Tomcat容器解析主机名;Tomcat容器解析Web应用;Tomcat容器解析资源名称;Tomcat容器获取资源;Tomcat响应浏览器。Apache集群实现Tomcat的Session共享配置其实很简单,在 Tomcat自带的文档中有详细的说明(
9、/docs/cluster-howto.html ), 只不过是英语的,所以联合下面根据说下怎么配置吧:1、既然是集群肯定要多准备几个Tomcat来模拟,比如分别为 Tomcat01、Tomcat02、Tomcat03。如果各Tomcat程序放在不同的机器上,那么就不会有端口的冲突。 如果是放在同一台机器上的话,那就简单改几个端口,防止端口占用 造成的冲突。打开conf文件夹中的server.xml文件,需要修改的端 口有:2、3、以上port需要修改,至于修改成什么样子,看你自己了,只要不 出现端口冲突就可以了,要保证各个 Tomcat 实例间没有端口冲突。关于 Zookeeper 的面试题
10、一、谈下你对 Zookeeper 的认识?ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务 它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置 维护、域名服务、分布式同步、组服务等。ZooKeeper 的目标就是封装好复杂易出错的关键服务,将简单易用 的接口和性能高效、功能稳定的系统提供给用户。二、Zookeeper都有哪些功能?集群管理:监控节点存活状态、运行请求等;主节点选举:主节点挂掉了之后可以从备用的节点开始新一轮 选主,主节点选举说的就是这个选举的过程,使用 Zookeeper 可以协 助完成这个过程;分布式锁:Zookeeper提供两种锁:独占锁、共
11、享锁。独占锁 即一次只能有一个线程使用资源,共享锁是读锁共享,读写互斥,即 可以有多线线程同时读同一个资源,如果要使用写锁也只能有一个线 程使用。 Zookeeper 可以对分布式锁进行控制。命名服务:在分布式系统中,通过使用命名服务,客户端应用 能够根据指定名字来获取资源或服务的地址,提供者等信息。三、谈下你对 ZAB 协议的了解?ZAB协议是为分布式协调服务Zookeeper专门设计的一种支持崩溃 恢复的原子广播协议。ZAB协议包括两种基本的模式:崩溃恢复和消息 广播。当整个 Zookeeper 集群刚刚启动或者 Leader 服务器宕机、重启或 者网络故障导致不存在过半的服务器与Lead
12、er服务器保持正常通信时, 所有服务器进入崩溃恢复模式,首先选举产生新的Leader服务器,然 后集群中Follower服务器开始与新的Leader服务器进行数据同步。当集群中超过半数机器与该Leader服务器完成数据同步之后,退 出恢复模式进入消息广播模式,Leader服务器开始接收客户端的事务 请求生成事物提案来进行事务请求处理。四、Zookeeper怎么保证主从节点的状态同步?Zookeeper 的核心是原子广播机制,这个机制保证了各个 server 之间的同步。实现这个机制的协议叫做Zab协议。Zab协议有两种模 式,它们分别是恢复模式和广播模式。恢复模式当服务启动或者在领导者崩溃后,
13、Zab就进入了恢复模式,当领 导者被选举出来,且大多数server完成了和leader的状态同步以后, 恢复模式就结束了。状态同步保证了 leader 和 server 具有相同的系 统状态。广播模式一旦leader已经和多数的follower进行了状态同步后,它就可 以开始广播消息了,即进入广播状态。这时候当一个 server 加入ZooKeeper服务中,它会在恢复模式下启动,发现leader,并和leader 进行状态同步。待到同步结束,它也参与消息广播。ZooKeeper服务一直维持在Broadcast 状态,直到 leader 崩溃了或者 leader 失去了大部分的 followers 支持。五、Zo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东泰安市宁阳县2025-2026学七年级下学期期中考试生物试题(含答案)
- 2026 高血压病人饮食的高血压饮食误区纠正课件
- 行政审批档案保密制度
- 行政审批综合受理制度
- 行政财务一支笔审批制度
- 设计图审批工作制度
- 谈谈危险作业审批制度
- 集团流程审批权限制度
- 2026年县乡教师选调考试《教育学》考前冲刺模拟题库附参考答案详解(巩固)
- 2026 高血压病人饮食的蛋黄酱的健康替代课件
- 单位收入管理办法
- 银行合规宣传课件
- 疤痕培训课件
- 河北省保定市六校联考2024-2025学年高二下学期6月期末化学试卷
- 伊利公司库房管理制度
- 第九讲:信息与大数据伦理问题-工程伦理
- 船舶维修服务的组织结构及岗位职责
- 2025新疆农业大学辅导员考试试题及答案
- 建筑与市政工程施工现场临时用电安全技术标准JGJT46-2024
- (高清版)DG∕TJ 08-15-2020 绿地设计标准 附条文说明
- 消防监督检查一般流程和技术要点
评论
0/150
提交评论