分布式系统低延迟消息传递技术实战
📚 共计 30 章节
01
消息传递基础
分布式系统通信模型概述 · 同步与异步通信 · 延迟/吞吐/一致性
核心概念
通信模型
02
网络协议与延迟
TCP vs UDP · Nagle算法 · RDMA与内核旁路
网络
低延迟
03
序列化与反序列化
JSON/XML瓶颈 · Protobuf & FlatBuffers · 零拷贝序列化
性能
编码
04
消息队列核心
点对点/发布订阅 · RabbitMQ vs Kafka · 磁盘顺序写
MQ
存储
05
ZeroMQ 入门
设计哲学 · 请求-回复 · 发布-订阅 · 管道模式
ZMQ
模式
06
ZeroMQ 高级
多部分消息 · 代理与设备 · 高水位标记 · 背压
高级
流控
07
NATS 轻量级消息
架构与核心概念 · AT_MOST_ONCE/AT_LEAST_ONCE · JetStream
NATS
云原生
08
gRPC 流式通信
gRPC+Protobuf · 一元/服务器流/客户端流/双向流
gRPC
流式
09
WebSocket 实时通信
握手与帧格式 · Node.js/Python实现 · 心跳保活
WebSocket
实时
10
UDP 多播与广播
多播原理 · IGMP · 可靠多播(PGM/MFTP)
UDP
多播
11
共享内存通信
mmap原理 · System V/POSIX共享内存 · 环形缓冲区
共享内存
高性能
12
Disruptor 无锁队列
设计思想 · 环形缓冲区 · 多生产者/消费者
无锁
Disruptor
13
原子操作与内存屏障
CAS/ABA · 内存屏障类型 · 无锁数据结构
原子
内存屏障
14
事件驱动架构
Reactor/Proactor · epoll/kqueue · libevent/libuv
事件驱动
IO
15
异步编程模型
回调/Promise · 协程/async/await · asyncio/Node.js
异步
协程
16
时间轮与定时器
时间轮算法 · 分层时间轮 · 高性能定时器
定时器
时间轮
17
流量控制与背压
令牌桶/漏桶 · TCP流控 vs 背压 · Reactive Streams
流控
背压
18
可靠消息传递
ACK/NACK · 重试与幂等 · 死信/重试队列
可靠性
重试
19
顺序保证与分区
全局/局部顺序 · Kafka分区 · 雪花算法ID
顺序
分区
20
分布式事务消息
2PC/3PC · TCC模式 · RocketMQ事务消息
事务
分布式
21
消息去重与幂等
Exactly-Once · 去重键设计 · Redis幂等校验
去重
幂等
22
性能测试与调优
延迟/吞吐量 · JMH微基准 · wrk/k6压测
压测
调优
23
内核调优
网络栈调优 · 中断亲和性 · CPU隔离与绑核
内核
调优
24
用户态协议栈
DPDK · Solarflare OpenOnload · io_uring
用户态
DPDK
25
多路复用与零拷贝
select/poll/epoll · sendfile/splice · Kafka零拷贝
零拷贝
多路复用
26
集群与高可用
主从复制/Leader选举 · Raft · Kafka vs NATS集群
集群
高可用
27
监控与可观测性
Jaeger延迟追踪 · Prometheus指标 · ELK日志
监控
可观测
28
安全与加密
TLS握手优化 · mTLS · 消息加密与签名
安全
TLS
29
边缘计算与消息传递
边缘节点 · MQTT协议 · WebRTC数据通道
边缘
MQTT
30
综合实战:低延迟交易系统
架构选型与对比 · 性能目标与验证
实战
交易系统