超低延迟行情解码与分发实战

📚 共计 30 章节
01
行情解码概述
为什么需要低延迟行情?行业现状与挑战,课程目标与学习路径。
入门行业背景
02
网络基础与Socket编程
TCP/UDP协议对比,Socket API详解,非阻塞I/O与多路复用(select/poll/epoll)。
网络Socket
03
内存管理基础
内存池设计,避免内存碎片,缓存行对齐与伪共享问题。
内存性能
04
序列化与反序列化
Google Protobuf、FlatBuffers、Cap'n Proto对比,零拷贝序列化原理。
序列化零拷贝
05
行情协议解析(上)
Level-2行情协议结构,逐笔成交与逐笔委托的解析实战。
协议Level-2
06
行情协议解析(下)
快照行情与增量更新,时间戳处理与精度控制。
快照增量
07
多线程与并发
线程池设计,无锁队列(Lock-Free Queue)实现,原子操作与内存序。
并发无锁
08
高性能日志系统
异步日志设计,环形缓冲区(Ring Buffer)实现,日志分级与性能压测。
日志RingBuffer
09
网络框架选型
libuv、Boost.Asio、DPDK对比,如何选择适合场景的网络框架。
框架对比
10
用户态协议栈
基于DPDK的TCP/IP协议栈实现,Kernel Bypass技术详解。
DPDKKernel Bypass
11
行情分发架构
发布-订阅模型,多播(Multicast)与单播(Unicast)对比,组播管理。
架构组播
12
数据压缩与编码
LZ4、Zstandard压缩算法对比,SIMD加速解码实战。
压缩SIMD
13
时钟同步与时间戳
PTP(精确时间协议)原理,NTP与PTP对比,硬件时间戳获取。
时钟PTP
14
性能测试与调优
延迟与吞吐量指标,wrk、iperf、自定义压测工具,火焰图分析。
性能火焰图
15
实战:搭建行情解码器(上)
需求分析,模块划分,核心数据结构设计。
实战设计
16
实战:搭建行情解码器(下)
编码实现,单元测试,性能基准测试。
实战编码
17
实战:高性能行情分发网关(上)
网关架构设计,连接管理,会话状态机。
网关状态机
18
实战:高性能行情分发网关(下)
流量控制,背压机制,优雅关闭与重连。
流量控制背压
19
实战:基于Redis的行情缓存层
Redis Streams与Pub/Sub,数据持久化与过期策略。
Redis缓存
20
实战:行情数据清洗与校验
异常检测,数据补全,校验和计算。
清洗校验
21
实战:多交易所行情聚合
统一数据模型,时间对齐,去重与排序。
聚合对齐
22
实战:行情WebSocket推送
WebSocket协议详解,基于libwebsockets的推送服务。
WebSocket推送
23
实战:行情RESTful API设计
OpenAPI规范,版本管理,限流与鉴权。
APIREST
24
实战:行情监控与告警系统
Prometheus指标暴露,Grafana仪表盘,告警规则配置。
监控告警
25
实战:容器化部署
Docker镜像构建,Kubernetes部署,资源限制与自动扩缩容。
DockerK8s
26
实战:混沌工程与故障注入
网络延迟模拟,丢包模拟,进程崩溃恢复。
混沌故障
27
进阶:FPGA加速行情解码
FPGA基础,HLS开发流程,与CPU方案对比。
FPGA加速
28
进阶:RDMA与InfiniBand
RDMA原理,libibverbs编程,在行情分发中的应用。
RDMAInfiniBand
29
进阶:全内存计算与持久化
Apache Arrow列式格式,内存映射文件,NVM(持久内存)探索。
内存计算Arrow
30
总结与展望
课程回顾,常见陷阱总结,未来趋势(AI辅助解码、云原生行情)。
总结趋势