我们进入第10阶段:现代通信协议。这是当前规划中的最后一个阶段,重点覆盖在 REST 和传统 HTTP 之外的高性能、高实时性、多样化的通信协议与 API 风格。
第10阶段:现代通信协议
目标
掌握除传统 HTTP/REST 外的主流通信协议和 API 设计风格,理解它们在性能、实时性、类型安全、灵活性等方面的权衡,能够根据场景选择合适的通信方案。
模块概览
| 模块 | 核心内容 | 与已学知识的衔接 |
|---|---|---|
| 10.1 gRPC | 基于 HTTP/2 + Protobuf,强类型、双向流、高性能 RPC 框架 | 替换微服务间的 RESTful HTTP 调用,提高性能 |
| 10.2 GraphQL | 客户端按需查询,单端点聚合,避免 over-fetching 和 under-fetching | 替代 REST 的多端点设计,适用于复杂前端需求 |
| 10.3 WebSocket | 全双工持久连接,服务端主动推送消息 | 衔接 HTTP 升级协议,实现聊天、实时行情、协作编辑 |
| 10.4 QUIC / HTTP/3 | 基于 UDP 的新一代传输协议,解决 TCP 队头阻塞,0-RTT 快速握手 | 下一代 Web 通信基础,提升弱网性能 |
| 10.5 WebTransport | 基于 HTTP/3 的高级传输 API,支持流、数据报、乱序传输 | 适合低延迟游戏、实时通信,替代 WebSocket 部分场景 |
| 10.6 MQTT | 轻量发布/订阅,低带宽,高延迟网络优化 | IoT、移动消息推送,与消息队列概念呼应 |
| 10.7 服务网格中的协议 | Envoy 的协议支持(HTTP/1.1, HTTP/2, gRPC, MongoDB, Redis),协议嗅探与转换 | 与第7阶段(服务网格、API 网关)联动 |
阶段间关系补充
- 与第1阶段(HTTP)衔接:HTTP/1.1 → HTTP/2 → HTTP/3/QUIC,演进路径清晰。
- 与第4阶段(软件架构)衔接:微服务间通信模式(同步 RPC vs 异步消息)。
- 与第7阶段(分布式系统)衔接:gRPC 的负载均衡、服务发现与共识算法的配合。
- 与第5阶段(AI应用架构)衔接:WebSocket 用于实时流式输出 LLM token(如 ChatGPT 式的逐字回复)。
全部阶段回顾(共10阶段)
| 阶段 | 主题 |
|---|---|
| 1 | Web 架构基础(HTTP、Cookie、Session、JWT、REST、MVC) |
| 2 | 数据库(SQL、索引、事务、ORM) |
| 3 | Linux 与部署(进程、端口、Nginx、反向代理、HTTPS、Docker) |
| 4 | 软件架构(单体、前后端分离、微服务、消息队列、缓存) |
| 5 | AI 应用架构(Embedding、向量数据库、RAG、Agent、MCP、Tool Calling) |
| 6 | 系统安全与认证(OAuth 2.0、OIDC、SSO、RBAC、攻击防御) |
| 7 | 分布式系统基石(CAP、BASE、分布式事务、共识算法、分片) |
| 8 | 可观测性与 DevOps(日志、指标、追踪、CI/CD、K8s、IaC) |
| 9 | 大数据与流处理(批处理、流处理、数据湖、消息队列深化) |
| 10 | 现代通信协议(gRPC、GraphQL、WebSocket、QUIC、MQTT) |
后续建议
学完这十个阶段后,你已经掌握了从 Web 基础到分布式、大数据、AI 应用、现代通信的完整工程架构知识体系。建议下一步:
- 按需深入:针对工作或兴趣的方向,选择某个阶段的一个模块深入学习细节(例如 Raft 共识算法的实现、Flink 的状态后端配置)。
- 动手实践:将理论知识应用到实际项目中,例如用 Docker Compose 搭建可观测性栈(Prometheus+Grafana+Jaeger+ELK)。
- 阅读源码:对核心基础设施(如 Nginx、Redis、Kafka、Kubernetes)的关键机制进行源码级分析。
- 关注前沿:学习 WebAssembly、eBPF、Data Mesh 等新兴主题。
评论
请登录后发表评论
暂无评论,快来发表第一条评论吧!