# Kafka Streams
> Streaming System 的定义:处理无限数据集的数据处理引擎。
Lambda 架构
* 利用流处理快速地给出不那么精确的结果
* 依托于批处理,最终实现数据一致性
正确性
* 目前难以实现正确性是流处理取代批处理的最大障碍。
* 实现正确性的基石:Exactly Once Semantics(EOS)
微批化 Microbatch
* 重复地执行批处理引擎来实现对无限数据集的处理。典型的微批化实现平台就是 Spark Streaming。
## Features
* Kafka Streams:Java Client Library
## Kafka Streams 与其他 Streaming Framework 差异
### 应用部署
Kafka Streams
* 需要 RD 自行打包和部署
* 可以嵌入到 Java 应用中
* 需要自行管理 Kafka Streams 应用的生命周期
其他 Framework
* 存在资源管理器(Resource Manager)
* e.g. K8s、YARN、Mesos
### 上下游数据源
Kafka Streams
* 只支持从 Kafka 中读写
其他框架
* 拥有更丰富的 Connector
### 协调方式
Kafka Streams
* 依赖 Kafka 集群提供的协调功能,来提供高容错性和高伸缩性
* Kafka Streams 应用底层使用了 Consumer Group 机制来实现任意的流处理扩缩容
### 消息语义保障
- 概览
- 入门
- 1. 消息引擎系统
- 2. Kafka 术语
- 3. 分布式流处理平台
- 4. Kafka “发行版”
- 5. Kafka 版本号
- 基本使用
- 6. 生产集群部署
- 7. 集群参数配置
- 客户端实践与原理
- 9. Consumer 分区机制
- 10. Consumer 压缩算法
- 11. 无消息丢失配置
- 12. 客户端高级功能
- 13. Producer 管理 TCP
- 14. 幂等生产者和事务生产者
- 15. 消费者组
- 16. 位移主题
- 17. 消费者组重平衡(TODO)
- 18. 位移提交
- 19. CommitFailedException
- 20. 多线程开发者实例
- 21. Consumer 管理 TCP
- 22. 消费者组消费进度监控
- Kafka 内核
- 23. 副本机制
- 24. 请求处理
- 25. Rebalance 全流程
- 26. Kafka 控制器
- 27. 高水位和 Leader Epoch
- 管理与监控
- 28. Topic 管理
- 29. Kafka 动态配置
- 30. 重设消费者组位移
- 31. 工具脚本
- 32. KafkaAdminClient
- 33. 认证机制
- 34. 云下授权
- 35. 跨集群备份 MirrorMaker
- 36. 监控 Kafka
- 37. Kafka 监控框架
- 38. 调优 Kafka
- 39. 实时日志流处理平台
- 流处理
- 40. Kafka Streams
- 41. Kafka Streams DSL
- 42. Kafka Streams 金融
- Q&A