MAPREDUCE服务 MRS-Kafka基本原理:Kafka原理

时间:2024-06-29 14:11:48

Kafka原理

  • 消息可靠性

    Kafka Broker收到消息后,会持久化到磁盘,同时,Topic的每个Partition有自己的Replica(备份),每个Replica分布在不同的Broker节点上,以保证当某一节点失效时,可以自动故障转移到可用消息节点。

  • 高吞吐量

    Kafka通过以下方式提供系统高吞吐量:

    • 数据磁盘持久化:消息不在内存中缓存,直接写入到磁盘,充分利用磁盘的顺序读写性能。
    • Zero-copy:减少IO操作步骤。
    • 数据批量发送:提高网络利用率。
    • Topic划分为多个Partition,提高并发度,可以由多个Producer、Consumer数目之间的关系并发来读、写消息。Producer根据用户指定的算法,将消息发送到指定的Partition。
  • 消息订阅-通知机制

    消费者对感兴趣的主题进行订阅,并采取pull的方式消费数据,使得消费者可以根据其消费能力自主地控制消息拉取速度,同时,可以根据自身情况自主选择消费模式,例如批量、重复消费,从尾端开始消费等;另外,需要消费者自己负责维护其自身消息的消费记录。

  • 可扩展性

    当在Kafka集群中可通过增加Broker节点以提供更大容量时。新增的Broker会向ZooKeeper注册,而Producer及Consumer会及时从ZooKeeper感知到这些变化,并作出调整。

support.huaweicloud.com/productdesc-mrs/mrs_08_001301.html