posts

《Java 响应式编程·流处理引擎与实时计算》· 全书目录与章节索引(50 篇)

《Java 响应式编程·流处理引擎与实时计算》全 50 篇:从 Kafka Streams 拓扑与 DSL,到 Flink DataStream API、时间语义、窗口、状态管理、Exactly-Once、CEP 复杂事件处理,最后以 eventd v3 实时指标面板验收收尾。依赖 Kafka 3.8.1 + Flink 1.20.x Java API。

全书概览

项目内容
书稿《Java 响应式编程·流处理引擎与实时计算》
篇数50 篇(15 章 45 节 + 序、前言、目录 + 附录 A–B)
领域Kafka Streams、Flink DataStream、窗口、状态管理、Exactly-Once、CEP
贯穿项目eventd-v3 —— Kafka Streams 数据清洗 → Flink 窗口聚合 → 实时指标面板
阅读方式从目录篇 进入按顺序通读,或按引擎跳读
主线版本Java 17(Flink 1.20 支持基线)、Kafka 3.8.1、Flink 1.20.x
关键依赖kafka-streams 3.8.1、flink-streaming-java 1.20.x、flink-cep 1.20.x
上级专题书稿专题

三卷分工

卷书名关注点
卷一《Reactive Streams 与背压原理》RS 规范、Reactor 核心、背压策略
卷二《系统构建与数据访问》(已完成)Reactor Netty、WebFlux、R2DBC、响应式安全
卷三《流处理引擎与实时计算》(本卷)Kafka Streams、Flink DataStream、窗口、CEP、实时指标

本卷不讲 Kafka Producer/Consumer API(已有《Java 消息中间件·事件驱动架构》展开),不讲 Flink SQL(仅讲 DataStream Java API)。

与站内已有内容的边界

全书目录

前置

篇文章核心内容
序从批处理到流处理卷三定位、三卷分工、本卷边界
前言环境、项目与读法Kafka 3.8.1 + Flink 1.20.x + eventd v3 骨架
目录目录与学习路径三条路径:Streams → Flink → 实时面板

第一部分:流处理基础(第 1–3 章)

节文章核心内容
1.1流处理范式:Dataflow、窗口、时间语义批 vs 流、事件时间 vs 处理时间
1.2窗口与时间语义滚动/滑动/会话/全局窗口
1.3Flink 环境搭建MiniCluster、依赖、Maven BOM
2.1Kafka Streams 拓扑StreamsBuilder、Source/Sink/Processor
2.2KStream 与 KTable有界/无界、更新流
2.3Kafka Streams DSL 基础filter/map/flatMap/groupBy/reduce
3.1状态存储与交互查询KeyValueStore、交互查询(Interactive Queries)
3.2Kafka Streams Exactly-OnceEOS 配置、事务 ID
3.3Kafka Streams 与 Reactive Streams 衔接Publisher → KafkaProducer、Reactive 适配
节文章核心内容
4.1DataStream API:Source/Transformation/SinkStreamExecutionEnvironment、addSource、addSink
4.2Flink 时间语义与 WatermarkEventTime、Assigner、AllowedLateness
4.3Flink 窗口:滚动、滑动、会话、全局WindowAssigner、Trigger、Evictor
5.1Flink 状态管理:KeyedStateValueState、ListState、MapState、ReducingState
5.2Flink 状态管理:OperatorStateListState、BroadcastState、CheckpointedFunction
5.3Flink Checkpoint 与故障恢复CheckpointConfig、Barrier、异步快照
6.1Flink CEP:模式匹配入门Pattern.begin、next/followedBy/within
6.2Flink CEP:复杂事件处理迭代模式、超时、侧输出
6.3Flink Table API 与 SQL(概述)TableEnvironment、SQL 查询、与 DataStream 转换
7.1连接器:Kafka Source/SinkKafkaSource、KafkaSink、offset 提交与分区映射
7.2连接器:JDBC / Redis / ElasticsearchJdbcSink、自定义 Redis Sink、ES Sink
7.3连接器:自定义 Source 与 SinkSourceFunction、RichSinkFunction
8.1指标与延迟分析LatencyMarker、MetricsReporter
8.2反压与资源调优Web UI backpressure、buffer参数、slot调优
8.3测试:MiniCluster 与测试工具TestStreamEnvironment、CollectSink

第三部分:eventd v3 与实时面板(第 9–12 章)

节文章核心内容
9.1eventd v3 架构Kafka → Streams 清洗 → Flink 聚合 → 面板
9.2Kafka Streams 清洗管道去重、格式标准化、异常过滤
9.3Flink 窗口聚合按用户/时段聚合、热点统计
10.1实时指标计算QPS、延迟分位数、错误率实时计算
10.2实时告警规则引擎阈值判断、滑动窗口告警、抑制
10.3实时面板数据流SSE / WebSocket 推送、背压适配
11.1端到端 Exactly-OnceKafka → Flink → 下游 EOS 保证
11.2多流 Join 与关联分析Interval Join、CoProcessFunction
11.3状态 TTL 与过期清理StateTtlConfig、过期策略
12.1eventd v3 全链路集成v2 事件 → Kafka → Streams → Flink → 面板
12.2部署与运维Standalone / Docker / 配置分层
12.3v3 验收全链路可运行、指标正确性、延迟达标

第四部分:测试与调试(第 13–14 章)

节文章核心内容
13.1Kafka Streams 测试TopologyTestDriver、InputTopic、OutputTopic
13.2Flink DataStream 测试MiniCluster、CollectSink、Watermark 推进
13.3端到端测试Testcontainers Kafka + Flink + 面板断言
14.1性能基线与调优吞吐、延迟、Checkpoint 间隔
14.2故障排查反压、状态过大、OOM、Watermark 滞后
14.3从 v2 到 v3 的演进事件格式兼容、数据迁移、灰度切换

第五部分:总结与展望(第 15 章)

节文章核心内容
15.1引擎选型指南Kafka Streams vs Flink、决策树、混合架构
15.2响应式流处理的演进趋势流批一体、实时数仓、SQL 化、Serverless
15.3全书总结与学习路径回顾三卷知识体系、概念提炼、进阶建议

附录

附录文章用途
AFlink DataStream API 速查Source → Transformation → Sink 速查
BKafka Streams DSL 速查常用操作符与配置参数

与卷二的衔接

eventd v2(卷二)产生的事件流是 eventd v3(卷三)的数据源:

eventd v2 (WebFlux + R2DBC)
    → 业务事件写入 Kafka Topic "eventd-raw"
        → Kafka Streams 清洗管道(去重/标准化)
            → Flink DataStream(窗口聚合/CEP 分析)
                → 实时指标写入 Redis / 面板推送

需要时写「卷二第 N 章」,保持引用准确。

全部文章 Books game Java Indie golang 客户端开发 Minigame Saas rust Python