1、特性
(1)高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个主题可以分多个分区, 消费组对分区进行消费操作;
(2)可扩展性:kafka集群支持热扩展;
(3)持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失;
(4)容错性:允许集群中节点失败(若副本数量为n,则允许n-1个节点失败);
(5)高并发:支持数千个客户端同时读写;
(6)支持实时在线处理和离线处理:可以使用Storm这种实时流处理系统对消息进行实时进行处理,同时还可以使用Hadoop这种批处理系统进行离线处理;
2、使用价值场景
(1)日志收集:一个公司可以用Kafka可以收集各种服务的log,通过kafka以统一接口服务的方式开放给各种consumer,例如Hadoop、Hbase、Solr等;
(2)消息系统:解耦和生产者和消费者、缓存消息等;
(3)用户活动跟踪:Kafka经常被用来记录web用户或者app用户的各种活动,如浏览网页、搜索、点击等活动,这些活动信息被各个服务器发布到kafka的topic中,然后订阅者通过订阅这些topic来做实时的监控分析,或者装载到Hadoop、数据仓库中做离线分析和挖掘;
(4)运营指标:Kafka也经常用来记录运营监控数据。包括收集各种分布式应用的数据,生产各种操作的集中反馈,比如报警和报告;
(5)流式处理:比如spark streaming和storm;
(6)事件源;
3、技术优势
可伸缩性:Kafka 的两个重要特性造就了它的可伸缩性。
Kafka 集群在运行期间可以轻松地扩展或收缩(可以添加或删除代理),而不会宕机。
可以扩展一个 Kafka 主题来包含更多的分区。由于一个分区无法扩展到多个代理,所以它的容量受到代理磁盘空间的限制。能够增加分区和代理的数量意味着单个主题可以存储的数据量是没有限制的。
容错性和可靠性:Kafka 的设计方式使某个代理的故障能够被集群中的其他代理检测到。由于每个主题都可以在多个代理上复制,所以集群可以在不中断服务的情况下从此类故障中恢复并继续运行。
吞吐量:代理能够以超快的速度有效地存储和检索数据。
二、适应人群
本教程为专注于使用Apache Kafka消息传递系统或者大数据分析领域发展事业的专业人士做好准备,它将给你足够的理解如何使用Kafka集群。
三、课程亮点
知识覆盖度广泛;
知识覆盖度深入;
由浅入深讲解思路;
案例分析全面;
适应于想学习Kafka技术的不同人群;
四、主讲内容
章节一 初识Kafka
1、概念详解
2、安装与配置
3、Java第一个程序
4、服务端常用参数配置
章节二 生产者
1、消息发送
2、原理剖析
3、生产者参数详解
章节三 消费者
1、概念入门
2、消息接收
章节四 主题
1、管理
2、增加分区
3、必要参数配置
4、偏移量管理
章节五 分区
1、副本机制
2、Leader选举
3、分区重新分配
4、自动再均衡
5、修改副本因子
6、分区分配策略
章节六 物理存储
1、日志存储概述
2、磁盘存储
章节七 稳定性
1、事务
2、控制器
3、可靠性保证
4、一致性保证
章节八 高级应用
1、命令行工具
2、数据管道
3、延时队列
4、流式处理
5、SpringBoot整合
章节九 集群管理
1、集群使用场景
2、集群搭建
3、多集群同步
章节十 监控
1、监控度量指标
2、Broker监控
3、主题分区监控
4、生产者监控
5、消费者监控
6、Kafka Eagle