Boot 与 Kafka Streams 怎样构建流处理?
查看完整题解
参考回答
直接回答
Boot可准备Kafka相关配置,Spring Kafka可管理StreamsBuilder与KafkaStreams生命周期,再用拓扑描述转换、分组、窗口或聚合。Kafka Streams是客户端流处理库,状态与分区机制属于其运行模型,不是Boot把Controller放到后台就获得同样能力。
讲清原理
application.id影响消费组及内部状态资源,实例并行度受分区和任务分配限制。窗口要区分事件时间、处理时间、迟到与保留策略,状态恢复也依赖相应日志和存储配置。
exactly-once处理保证有明确范围,不会自动覆盖发送邮件或更新任意外部数据库等副作用。拓扑测试可测固定输入输出,但不能替代真实Broker故障、重平衡和恢复验收。
例子与易错点
先用小拓扑核对边界时间、重复与乱序,再做实际集成。不要随意复用不同业务的application.id,也不要在流线程中无限阻塞调用慢外部服务。
相关题:第 45 题、第 49 题、第 59 题。
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。