Kafka原理总结
Kafka是一个开源的分布式流式处理平台,在这个平台上可以发布、订阅以及处理数据流,具有强大的吞吐能力,让Kafka成为了一个高性能的发布与订阅消息系统
一:概念理解
Broker
部署Kafka进程的服务被称之为Broker,Broker会接收Producer的消息,持久化到本地,然后Comsumer通Pull的形式进行消息拉取,通常使用集群的形式进行部署
Producer
生产者,即发送消息的一方,往Broker中写入数据
Consumer
消费者,即消费消息的一方,从Broker中获取数据,一般采用群组的形式部署来提高消费性能
Topic
Topic翻译过来就是主题的意思,但它其实是个抽象概念,我们可以理解成数据集合,比如订单系统有一个Topic叫topic_order_info,这个Topic里面就是订单系统投递的订单信息,如果其他系统想要获取订单信息,就可以从这个Topic中获取。
Partition
Partion即分区,在Kafka中,创建topic通常会指定topic的partition个数,kafka会根据一定的策略进行分区分配,将分区分布在不同Broker上,Producer在发送消息时会根据分区选择器选择一个分区进行发送,这样就可以实现负载均衡,提高吞吐的效果