Preguntas de la entrevista de Kafka en detalle

1. Explique qué es Apache Kafka.

Apache Kafka是由Apache开发的一种发布订阅消息系统,它是一个分布式的、分区的和重复 的日志服务.

2. Explique cuál es el método de mensajería tradicional.


传统的消息传递方法包括两种:
	排队:在队列中,一组用户可以从服务器中读取消息,每条消息都发送给其中一个人。
	发布-订阅:在这个模型中,消息被广播给所有的用户

3. Explique qué ventajas tiene Kafka sobre los métodos de mensajería tradicionales.

1) 高性能:单一的Kafka代理可以处理成千上万的客户端,每秒处理数兆字节的读写操作,Kafka
性能远超过传统的ActiveMQ、RabbitMQ等,而且Kafka支持Batch操作;(毫秒级别延迟数十万级吞吐量,)
2) 可扩展:Kafka集群可以透明的扩展,增加新的服务器进集群;
3) 容错性: Kafka每个Partition数据会复制到几台服务器,当某个Broker失效时,Zookeeper将通
知生产者和消费者从而使用其他的Broker;(副本,而且每一个副本都在不同的主机上)

4. ¿Cuál es el significado de corredor en Kafka?

在Kafka集群中,broker指Kafka服务器。

拓展:
partition分区: 为了实现扩展性,一个非常大的topic可以分布到多个broker(即
服务器)上,一个topic可以分为多个partition,每个partition是一个有
序的队列。partition中的每条消息都会被分配一个有序的id(offset)。
kafka只保证按一个partition中的顺序将消息发给consumer,不保证一
个topic的整体(多个partition间)的顺序


offset偏移量: kafka的存储文件都是按照offset.kafka来命名,用offset做名字
的好处是方便查找。例如你想找位于2049的位置,只要找到2048.kafka
的文件即可。当然the first offset就是00000000000.kafka

5. ¿Cuál es la información máxima que puede recibir el servidor de Kafka?

Kafka服务器可以接收到的消息的最大大小是1000000字节。

6. ¿Qué es ZooKeeper en Kafka? ¿Kafka puede ejecutarse independientemente de ZooKeeper?

Zookeeper是一个开放源码的、高性能的协调服务,它用于Kafka的分布式应用。

不可以,不可能越过Zookeeper直接联系Kafka broker,一旦Zookeeper停止工作,它就不能
服务客户端请求。(PS:Kafka正在逐步想办法将ZooKeeper剥离,维护两套集群成本较高,社区提出KIP-500就是要替换掉ZooKeeper的依赖。“Kafka on Kafka”——Kafka自己来管理自己的元数据)
原因: 
 1) ZK用来管理和协调broker,并且存储了Kafka的元数据(例如:有多少topic、partition、consumer)
 2) ZK服务主要用于通知生产者和消费者Kafka集群中有新的broker加入、或者Kafka集群中出现故障的broker。

7. Explique cómo los usuarios de Kafka consumen información.

	在Kafka中传递消息是通过使用sendfile API完成的。它支持将字节Socket转移到磁盘,通过内
核空间保存副本,并在内核用户之间调用内核。

8. Explique cómo mejorar el rendimiento de los usuarios remotos.

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

9. Explique, ¿cómo puede obtener información precisa de Kafka durante el proceso de producción de datos?

	在数据中,为了精确地获得Kafka的消息,你必须遵循两件事: 在数据消耗期间避免重复,在数
据生产过程中避免重复。

	这里有两种方法,可以在数据生成时准确地获得一个语义:
	1) 每个分区使用一个单独的写入器,每当你发现一个网络错误,检查该分区中的最后一条消息,
以查看您的最后一次写入是否成功
 	2)在消息中包含一个主键(UUID或其他),并在用户中进行反复制

10. Explique cómo reducir la perturbación en ISR. ¿Cuándo deja el corredor el ISR?

	ISR是一组与leaders完全同步的消息副本,也就是说ISR中包含了所有提交的消息。ISR应该总北京市昌
是包含所有的副本,直到出现真正的故障。如果一个副本从leader中脱离出来,将会从ISR中删除。

11. ¿Por qué Kafka necesita replicarse?

Kafka的信息复制确保了任何已发布的消息不会丢失,并且可以在机器错误、程序错误或更常 见些的软件升级中使用。

12. ¿Qué significa si la copia permanece en el ISR durante mucho tiempo?

如果一个副本在ISR中保留了很长一段时间,那么它就表明,跟踪器无法像在leader收集数据那 样快速地获取数据。

Supongo que te gusta

Origin blog.csdn.net/m0_49834705/article/details/112424259
Recomendado
Clasificación