Kafka应用开发
- 了解Kafka应用开发适用场景
- 熟悉Kafka应用开发流程
- 熟悉并使用Kafka常用API
- 进行Kafka应用开发
Kafka的定义
Kafka是一个高吞吐、分布式、基于发布订阅的消息系统
Kafka有如下几个特点:
- 高吞吐量
- 消息持久化到磁盘
- 分布式系统易扩展
- 容错性好
Kafka的适用场景
- 适用于离线和在线的消息消费
- 已对接组件
- Streaming、Spark、Flume
使用Kafka的好处
- 解耦--使得消息生产、消费系统能够独立变更
- 可靠--有效解决单点故障引发系统不可用问题
- 易扩展--生产、消费系统扩展简单
- 可恢复--消息缓存下来,支持故障从故障点读取
- 异步通信--生产系统无需关心消费系统的消费时间
配置及开发准备--配置keytab文件到样例工程
- 配置Keytab到工程
- 安全认证
- Topic订阅
- 消费获取
- 消费处理
Kafka常用接口
- Kafka集群安全访问端口默认为21007,非安全访问端口默认为21005
Kafka Producer接口
- 向管理员申请目标Topic的生产者权限
- 根据业务需求,配置发送相关配置参数
- 调用新Producer API接口发送数据
Kafka Consumer接口
- 向管理员申请目标Topic的消费者权限
- 根据业务需求,配置消费者相关配置参数
- 调用新Consumer API接口进行消息消费