1 Star 0 Fork 31

moyu3390 / Ebooks_1

forked from Java精选 / Ebooks 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
最新2022年高并发架构消息队列面试题解析.md 6.33 KB
一键复制 编辑 原始数据 按行查看 历史

最新2022年高并发架构消息队列面试题解析

全部面试题答案,更新日期:01月30日,直接下载吧!

下载链接:高清500+份面试题资料及电子书,累计 10000+ 页大厂面试题 PDF

消息队列

题1:Kafka 中如何提高远程用户的吞吐量?

如果用户位于与broker不同的数据中心,则可能需要调优套接口缓冲区大小,以对长网络延迟进行摊销。

题2:Kafka 与传统 MQ 消息队列之间有三个关键区别?

1)Kafka持久化日志,这些日志可以被重复读取和无限期保留。

2)Kafka是一个分布式系统:它以集群的方式运行,可以灵活伸缩,在内部通过复制数据提升容错能力和高可用性。

3)Kafka支持实时的流式处理。

题3:RabbitMQ 接收到消息后必须消费吗?

RabbitMQ接收到消息后可以不消费,在消息确认消费之前,可以做以下两件事:

拒绝消息消费,使用channel.basicReject(消息编号, true) 方法,消息会被分配给其他订阅者;

设置为死信队列,死信队列是用于专门存放被拒绝的消息队列。

题4:RabbitMQ 中消息基于什么传输?

由于TCP连接的创建和销毁开销较大,且并发数受系统资源限制,会造成性能瓶颈。

RabbitMQ使用信道的方式来传输数据。

信道是建立在真实的TCP连接内的虚拟连接,且每条TCP连接上的信道数量没有限制。

题5:Kafka 能否脱离 Zookeeper 单独使用吗?为什么?

kafka不能脱离zookeeper单独使用,因为kafka使用zookeeper管理和协调kafka的节点服务器。

题6:监控 Kafka 的框架都有哪些?

Kafka Manager:应该算是最有名的专属Kafka监控框架了,是独立的监控系统。

Kafka Monitor:LinkedIn开源的免费框架,支持对集群进行系统测试,并实时监控测试结果。

CruiseControl:是LinkedIn公司开源的监控框架,用于实时监测资源使用率,以及提供常用运维操作等。无UI界面,只提供REST API。

JMX 监控:由于Kafka提供的监控指标都是基于JMX的,因此,市面上任何能够集成JMX的框架都可以使用,比如Zabbix和Prometheus。

已有大数据平台自己的监控体系:像Cloudera提供的CDH大数据平台等。

JMXTool:社区提供的命令行工具,能够实时监控JMX指标。此工具属于面试时加分项,知道的比较很少,而且会给人一种你对Kafka工具非常熟悉的感觉。关注Java精选公众号,面试题持续更新。如果暂时不了解它的用法,可以在命令行以无参数方式执行一下kafka-run-class.sh kafka.tools.JmxTool,学习下它的用法。

题7:Kafka 对比传统技术有什么优势?

Apache Kafka与传统的消息传递技术相比优势之处在于:

快速:单一的Kafka代理可以处理成千上万的客户端,每秒处理数兆字节的读写操作。

可伸缩:在一组机器上对数据进行分区和简化,以支持更大的数据。

持久:消息是持久性的,并在集群中进行复制,以防止数据丢失。

设计:它提供了容错保证和持久性。

题8:Kafka 中如何控制消费的位置?

kafka使用seek(TopicPartition, long)指定新的消费位置。

用于查找服务器保留的最早和最新的offset 的特殊的方法也可用。seekToBeginning(Collection)和seekToEnd(Collection)

题9:RabbitMQ 如何确保每个消息能被消费?

RabbitMQ使用ack消息确认的方式保证每个消息都能被消费,开发者可根据自己的实际业务,选择channel.basicAck()方法手动确认消息被消费。

题10:Kafka 消费者如何不自动提交偏移量,由应用提交?

将auto.commit.offset设为false,然后在处理一批消息后commitSync()或者异步提交commitAsync()即:

ConsumerRecords<> records = consumer.poll(); 
for(ConsumerRecord<> record : records){
   try{
       consumer.commitSync();
   }
}

题11:kafka-中使用零拷贝zero-copy有哪些场景

题12:kafka-消费者如何取消订阅

题13:什么是消息队列

题14:说一说-kafka-中-ack-的三种机制

题15:消息队列有哪些应用场景

题16:kafka-在什么情况下回导致运行变慢

题17:kafka-中生产者和消费者的命令行是什么

题18:什么是-apache-kafka

题19:kafka-判断一个节点是否还活着有那两个条件

题20:rabbitmq-和-kafka-有什么区别

题21:rabbitmq-中如何解决丢数据的问题

题22:rabbitmq-中-broker-和-cluster-分别是指什么

题23:rabbitmq-有哪些重要角色

题24:kafka-消费者故障出现活锁问题如何解决

题25:消息持久化有哪些缺点如何缓解

大厂面试题

大厂面试题

大厂面试题

Java
1
https://gitee.com/moyu3390/ebooks_1.git
git@gitee.com:moyu3390/ebooks_1.git
moyu3390
ebooks_1
Ebooks_1
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891