每日一博 | Kafka 高并发、高可用、高吞吐的实现机制
1 概述 Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式消息系统,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。 2消息系统介绍 一个消息系统负责将数据从一个应用传递到另外一个应用,应用只需关注于数据,无需关注数据在两个或多个应用间是如何传递的。分布式消息传递基于可靠的消息队列,在客户端应用和消息系统之间异步传递消息。有两种主要的消息传递模式:点对点传递模式、发布-订阅模式。大部分的消息系统选用发布-订阅模式。Kafka就是一种发布-订阅模式。 2.1点对点传递模式 生产者发送一条消息到queue,只有一个消费者能收到 ,这种架构描述示意图如下: 2.2 发布-订阅消息传递模式 发布者发送到topic的消息,只有订阅了topic的订阅者才会收到消息,这种架构描述示意图如下: 3Kafka HA设计解析 3.1如何将所有Replica均匀分布到整个集群 为了更好的做负载均衡,Kafka尽量将所有的Partition均匀分配到整个集群上。一个典型的部署方式是一个Topic的Partiti...
