Java后端-中间件-Kafka-3
Kafka与微服务架构集成
1.0 事件驱动架构(EDA)设计
1.1 微服务通信模式
- 同步调用:REST/gRPC(适用于强依赖场景)
- 异步通信:Kafka事件(适用于解耦场景,如订单状态变更通知物流、库存服务)
1.2 事件设计规范
2.0 Spring Cloud集成最佳实践
2.1 Spring Kafka高级配置
2.2 消费端并发优化
|
|
3.0 性能压测与调优案例
3.1 压测工具
- 生产端:
kafka-producer-perf-test.sh
- 消费端:
kafka-consumer-perf-test.sh
3.2 调优案例:从10万QPS到50万QPS
- 优化点1:消息压缩(snappy→lz4,CPU占用降低30%)
- 优化点2:分区数从8调整为32(匹配 broker 数量)
- 优化点3:消费者批量拉取(
fetch.min.bytes=1MB
,减少请求次数)
4.0 常见问题解决方案
4.1 消息堆积处理
- 临时扩容消费者实例(需≤分区数)
- 开启死信队列(DLQ):无法处理的消息转发至
topic-dlq
4.2 数据倾斜治理
- 检测:通过监控发现某分区
consumer-lag
异常偏高 - 解决:重新设计Key哈希策略(如加盐哈希)
小结
程序员必知必会。
文章作者 会写代码的小郎中
上次更新 2025-09-10
许可协议 CC BY-NC-ND 4.0