入门
1、什么是kafka?
apache Kafka is a distributed streaming platform. What exactly dose that mean?
Apache Kafka 是消息引擎系统,也是一个分布式流处理平台(Distributed Streaming Platform)
2、kafka全景图:
3、Kafka的版本演进:
4、kafka选型:
Apache Kafka:也称社区版 Kafka。优势在于迭代速度快,社区响应度高,使用它可以让你有更高的把控度;缺陷在于仅提供基础核心组件,缺失一些高级的特性。(如果你仅仅需要一个消息引擎系统亦或是简单的流处理应用场景,同时需要对系统有较大把控度,那么我推荐你使用 Apache Kafka)
Confluent Kafka :Confluent 公司提供的 Kafka。优势在于集成了很多高级特性且由 Kafka 原班人马打造,质量上有保证;缺陷在于相关文档资料不全,普及率较低,没有太多可供参考的范例。(如果你需要用到 Kafka 的一些高级特性,那么推荐你使用 Confluent Kafka。)
CDH/HDP Kafka:大数据云公司提供的 Kafka,内嵌 Apache Kafka。优势在于操作简单,节省运维成本;缺陷在于把控度低,演进速度较慢。(如果你需要快速地搭建消息引擎系统,或者你需要搭建的是多框架构成的数据平台且 Kafka 只是其中一个组件,那么我推荐你使用这些大数据云公司提供的 Kafka)
5、Kafka的基本概念:
6、Kafka的基本结构:
7、Kafka的集群结构:
8、kafka的应用场景(用户注册/异步):
9、kafka队列模式---点对点:
10、kafka队列模式---发布/订阅:
11、kafka构成角色:
1、broker:
消息格式: 主题 - 分区 - 消息 、主题下的每条消息只会保存在某一个分区中,而不会在多个分区中被保存多份
这样设计的原因是:不使用多topic做负载均衡,意义在于对业务屏蔽该逻辑。业务只需要对topic进行发送,指定负载均衡策略即可 同时 topic分区是实现负载均衡以及高吞吐量的关键
Topic的创建流程
2、Producer:
发送消息流程