1.kafka是什么
概述及使用场景
kafka官网地址:
http://kafka.apache.org/
(中文社区:https://www.orchome.com/kafka/index)
kafka是一个消息系统,消息中间件。是一个高吞吐量的分布式发布订阅消息系统。
什么是消息中间件?
1.在消息系统中,有两端:一端是生产消息的人(生产者);一端是消费消息的人(消费者)
2.正常情况:
比如说生产者生产鸡蛋,每生产一个鸡蛋,消费者就消费(吃掉)一个鸡蛋。刚刚好,很美好!
3.其它情况:
消费者在吃鸡蛋过程中,被噎住了。还没吃完呢,生产者又生产好了下一个鸡蛋。怎么办?
生产者每分钟生产10个鸡蛋,消费者每分钟消费2个鸡蛋。剩下8个鸡蛋。怎么办?
有人说,给一个篮子,把剩下的鸡蛋,暂时先放到篮子中,让消费者慢慢吃。那么这个篮子就是消息中间件,就是kafka。
用户注册案例:
实现了:异步操作提示体验,不同语言传递消息(解耦)
1.2.kafka角色介绍
角色 | 说明 |
---|---|
Broker | Kafka集群包含一个或多个服务器,服务器即broker |
Topic | 每条发布到Kafka集群的消息都有一个类别,类别即Topic |
Message | 消息,有定长的消息头与变长的消息体组成 |
Partition | Partition是物理上的概念,每个Topic包含一个或多个Partition |
Producer | 消息生产者,负责发布消息到Kafka broker |
Consumer | 消息消费者,向Kafka broker读取消息的客户端 |
Consumer Group | 每个Consumer属于一个特定的Consumer Group 。 如果没有指定group name,则属于默认的group |
Group Coordinator | 每一个消费者组,会选择一个Broker作为协调者 |
1571711471764