🌐 网络编程 & 分布式

从底层网络协议到分布式系统设计,全面掌握 Rust 在网络领域的应用

学习路径

  • 从 TCP/UDP 基础开始,理解网络编程的核心概念
  • 掌握异步 I/O 和事件驱动编程模式
  • 学习各种应用层协议的实现原理
  • 深入分布式系统的共识算法和一致性保证
  • 阅读经典分布式系统论文,理解理论基础

参考资料

内容模块

基础网络编程

掌握 Rust 中的网络编程基础

• TCP/UDP Socket 编程:客户端/服务器实现
• 异步 I/O 模型:epoll, kqueue, IOCP
• Tokio 异步运行时:Task, Runtime, Executor
• 网络协议实现:HTTP/1.1, HTTP/2, WebSocket

应用层协议

深入理解常用网络协议的设计和实现

HTTP/HTTPS
请求响应模型、TLS/SSL
gRPC
Protobuf、流式传输
WebSocket
全双工通信、心跳机制
QUIC
基于 UDP 的传输协议

分布式系统基础

理解分布式系统的核心概念和挑战

• CAP 定理与 BASE 理论
• 分布式事务:2PC, 3PC, TCC, Saga
• 共识算法:Raft, Paxos, Multi-Paxos
• 时钟同步:NTP, Logical Clock, Vector Clock

RPC 与服务治理

构建高可用的分布式服务

• RPC 框架设计:序列化、传输、协议
• 服务发现:注册中心、健康检查
• 负载均衡:轮询、加权、一致性哈希
• 熔断降级:Circuit Breaker, Rate Limiting

消息队列

异步解耦与可靠消息传递

• 消息队列原理:生产者-消费者模型
• 可靠性保证:持久化、确认机制、重试
• Kafka 架构:分区、副本、ISR
• RabbitMQ/RocketMQ 特性对比

📚 经典论文精读

阅读分布式系统领域的奠基性论文

• The Google File System (GFS)
• MapReduce: Simplified Data Processing
• Bigtable: A Distributed Storage System
• Dynamo: Amazon's Highly Available Key-value Store
• In Search of an Understandable Consensus Algorithm (Raft)
• Time, Clocks, and the Ordering of Events (Lamport)

📝 内容正在持续更新中...