📄️ Kafka发送一条消息的流程?
Kafka 消息发送涉及两个关键流程:第一个是消息在生产者客户端的发送流程,第二个则是消息到达 Broker 后,Broker 将对消息的处理流程。
📄️ 为什么选择Kafka作为消息队列?
目前市面上比较主流的开源消息队列包括 Kafka、RocketMQ、RabbtiMQ 等,要从中选择出一个最合适的消息队列,则需要根据公司的业务,并结合功能、性能、可靠性、可用性以及社区和生态等方面进行综合考量。
📄️ Kafka为什么这么快?
Kafka 之所以受到众多人的青睐,其中一个重要原因无疑是 Kafka 非常“快”。一般来说,决定一个消息队列性能“快”还是“慢”最关键的两点在于磁盘 IO 和网络传输,那么 Kafka 是怎么解决这两个问题的呢?
📄️ Kafka如何保证数据不丢失
Kafka 为分区引入了多副本(Replica)机制,通过增加副本数量提升容灾能力,从而做到高可用。简单的来说,在同一分区中,相同的数据会同时被分步在不同 Broker 中的多份副本保存。
📄️ Kafka如何做到消息的有序性?
Kafka 只保证 Topic 的分区内消息有序,不保证整个 Topic 中的消息有序,除非只有一个分区。
📄️ Kafka消息“拉”模式还是“推”模式?
在消息队列中,消费者和 Broker 交互一般存在“推”和“拉”两种消息获取模式。它们之间互相有着优缺点,Kafka 通过在消费端采用“拉”模式从 Broker 获取消息。