交易系统微服务改造落地实践
📚 共计 30 章节
01
微服务改造背景
为什么交易系统需要微服务?单体架构的痛点与微服务优势分析。
架构演进
痛点
02
领域驱动设计(DDD)入门
限界上下文、实体、值对象、聚合根在交易系统中的映射。
DDD
建模
03
交易系统核心域拆分
订单域、账户域、风控域、清算域、行情域的边界划分。
领域拆分
边界
04
服务间通信选型
REST vs gRPC vs 消息队列,交易场景下的延迟与一致性权衡。
通信
gRPC
MQ
05
API网关设计
统一入口、路由转发、限流熔断、协议转换在交易网关中的实践。
网关
限流
06
服务注册与发现
基于Consul/Nacos的注册中心搭建,健康检查与故障剔除。
Consul
Nacos
07
配置中心建设
集中配置管理、动态刷新、配置灰度发布,避免重启服务。
配置中心
动态刷新
08
分布式事务(上)
XA/2PC/3PC原理,交易系统中为什么很少用强一致性事务。
2PC
强一致性
09
分布式事务(下)
TCC、Saga、可靠消息最终一致性方案,选型与代码实现。
TCC
Saga
10
订单服务拆分实战
从订单表到订单服务,订单状态机设计与事件驱动。
订单
状态机
11
账户服务拆分实战
账户余额、冻结、流水,高并发下的账户一致性设计。
账户
一致性
12
风控服务拆分实战
实时风控规则引擎、黑白名单、交易频率限制的微服务化。
风控
规则引擎
13
行情服务拆分实战
WebSocket推送、行情缓存、数据降噪与合并发布。
行情
WebSocket
14
清算服务拆分实战
日终清算、对账文件生成、差错处理流程的异步化。
清算
异步
15
服务间数据一致性
最终一致性场景下的补偿机制、对账与修复脚本。
补偿
对账
16
分布式ID生成
雪花算法、号段模式、美团Leaf在交易流水号中的应用。
雪花算法
Leaf
17
链路追踪与日志聚合
SkyWalking/Jaeger + ELK,快速定位跨服务问题。
链路追踪
ELK
18
服务监控与告警
Prometheus + Grafana,核心指标(TPS、延迟、错误率)监控。
监控
Grafana
19
容器化部署
Docker镜像构建、Kubernetes编排、交易服务的优雅上下线。
Docker
K8s
20
CI/CD流水线
GitLab CI + Jenkins + ArgoCD,自动化构建、测试、部署。
CI/CD
ArgoCD
21
服务网格(Service Mesh)探索
Istio在交易系统中的应用场景与落地成本。
Istio
Service Mesh
22
灰度发布与蓝绿部署
金丝雀发布策略,交易系统如何平滑切换版本。
灰度
蓝绿
23
单元测试与契约测试
Spring Cloud Contract + Mockito,保障服务间接口兼容。
契约测试
Mockito
24
压力测试与性能调优
JMeter/Gatling压测,JVM调优、连接池优化、SQL慢查询治理。
压测
JVM
25
缓存策略
Redis缓存热点数据、缓存穿透/击穿/雪崩的应对方案。
Redis
缓存
26
数据库拆分
分库分表(ShardingSphere)、读写分离,交易流水表的分片键设计。
分库分表
ShardingSphere
27
消息队列选型与实战
RocketMQ/Kafka,事务消息、顺序消息在交易中的使用。
RocketMQ
Kafka
28
安全与权限
OAuth2.0 + JWT,服务间鉴权、API签名与防重放攻击。
OAuth2
JWT
29
容灾与高可用
多活架构、异地容灾、故障演练,交易系统SLA保障。
多活
容灾
30
总结与展望
微服务改造的得与失,未来演进方向(Serverless、AI辅助运维)。
展望
Serverless