VIP20
本课程属于:028-batch推理队列 AI算力与GPU工程 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录 咨询 / 购买

高并发场景下的Batch策略实战

📚 共计 30 章节
01
Batch策略概述
为什么需要Batch?从单条处理到批量处理的演进,Batch的核心价值(降低IO、提升吞吐)。
核心概念IO优化
02
Batch的适用场景
日志收集、数据库批量写入、消息队列批量消费、大数据ETL。
场景ETL
03
Batch的核心参数
Batch Size(批量大小)、Flush Interval(刷新间隔)、Max Batch Count(最大批次数量)。
参数配置
04
Batch Size的权衡艺术
Size太大导致内存溢出,Size太小导致性能提升不明显,如何找到最佳Size。
调优内存
05
Flush Interval的设定
时间驱动的Flush,事件驱动的Flush,混合策略。
时间事件
06
Java中的Batch实现
ArrayList批量收集,BlockingQueue异步批量,Disruptor无锁批量。
JavaDisruptor
07
Go语言中的Batch实现
Slice批量收集,Channel异步批量,sync.Pool对象复用。
GoChannel
08
Python中的Batch实现
列表批量收集,asyncio异步批量,Celery任务批量。
PythonCelery
09
数据库批量写入优化
JDBC Batch、MyBatis Batch、Spring Data JPA Batch,批量提交与事务控制。
数据库事务
10
消息队列批量消费
Kafka批量消费(poll参数)、RabbitMQ批量消费(basicQos)、RocketMQ批量消费。
MQKafka
11
日志系统的批量收集
Log4j2异步Appender、Filebeat批量发送、Fluentd批量Buffer。
日志Filebeat
12
HTTP请求的批量合并
Nginx合并请求、GraphQL批量查询、BFF层批量聚合。
HTTPGraphQL
13
缓存批量操作
Redis Pipeline批量命令、Memcached批量get/set、本地缓存批量失效。
缓存Pipeline
14
Batch的线程安全
ConcurrentHashMap分段锁、CopyOnWriteArrayList、AtomicLong计数器。
并发线程安全
15
Batch的背压机制
Reactive Streams背压、Rate Limiter限流、Semaphore信号量控制。
背压限流
16
Batch的失败重试策略
指数退避重试、固定间隔重试、最大重试次数限制。
重试退避
17
Batch的监控与告警
Prometheus指标暴露、Grafana面板设计、告警规则配置。
监控Prometheus
18
Batch的单元测试
Mock批量接口、验证批量次数、测试边界条件。
测试Mock
19
Batch的压测方法
JMeter批量请求模拟、wrk批量压测、Locust分布式压测。
压测JMeter
20
Batch与流处理的结合
Flink的Buffer批处理、Spark Streaming的微批次、Kafka Streams的批量。
流处理Flink
21
Batch的分布式协调
Zookeeper分布式Batch锁、Redis分布式Batch计数器、Etcd分布式Batch状态。
分布式Zookeeper
22
Batch的序列化优化
Protobuf批量序列化、Kryo批量序列化、Avro批量序列化。
序列化Protobuf
23
Batch的内存管理
DirectBuffer批量分配、对象池批量复用、GC优化批量对象。
内存GC
24
Batch的异步回调
CompletableFuture批量回调、Guava ListenableFuture、RxJava批量响应。
异步回调
25
Batch的优雅关闭
ShutdownHook批量Flush、Graceful Shutdown、Drain剩余数据。
关闭Shutdown
26
Batch的配置中心
Apollo动态调整Batch参数、Nacos配置热更新、Spring Cloud Config。
配置Apollo
27
Batch的日志链路追踪
MDC批量日志、TraceId批量传递、Zipkin批量Span。
链路Zipkin
28
Batch的限流降级
Sentinel批量限流、Hystrix批量熔断、Resilience4j批量重试。
限流Sentinel
29
实战案例一:百万级日志采集系统
Filebeat + Kafka + Logstash + ES 构建高吞吐日志管道。
实战日志
30
实战案例二:千万级订单批量处理系统
Spring Batch + Redis + MySQL + RocketMQ 处理海量订单。
实战订单