作业与实验

5 份编程作业和 7 个实验。作业 2 对应实验 1,作业 3 对应实验 6,实验 7 把前面的实验收成一个系统。

编程作业

作业 1 并发文件服务器 + 手写 MiniRPC

Lab1 用迭代和分派者/工作者做文件服务器,Lab2 手写 RPC,并验证字节序和服务器迁移后的重绑定。

对应关系:与实验 1 同属第 2 章通信实践,题目不同。

相关知识点: 2.1 进程、线程与地址空间 2.3 客户机与服务器 2.4 远程过程调用

技术栈: 多线程编程 Socket 编程 Socket 编码问题 Socket 多线程

相关条目: 实验 1 基于 TCP Socket 的高并发 Web 服务器

查看说明与指导书

作业 2 多线程静态 Web 服务器

用同一个程序完成静态页面、多线程并发,以及短连接和持久连接两种模式。

对应关系:与实验 1 是同一题。

相关知识点: 2.1 进程、线程与地址空间 2.2 进程间通信 2.3 客户机与服务器

技术栈: 多线程编程 线程池应用 Socket 编程 Socket 承载应用 Socket 多线程

相关条目: 实验 1 基于 TCP Socket 的高并发 Web 服务器

查看说明与指导书

作业 3 一致性哈希与多线程并发读写

实现一致性哈希环,用线程池模拟多个客户端并发读写,并观察节点增减时的迁移量和负载。

对应关系:与实验 6 是同一题。

相关知识点: 3.2 静态划分 3.3 动态调整 3.5 一致性哈希

技术栈: 多线程编程 线程池应用 线程安全类

相关条目: 实验 6 一致性哈希与虚拟节点集群

查看说明与指导书

作业 4 Raft 共识算法模拟

用多线程模拟 Raft 的 Leader 选举、日志同步和故障恢复。指导书封面写成编程作业 3,课程按文件名记为作业 4。

相关知识点: 5.1 为什么要容错 5.2 故障类型 5.3 检测与恢复 5.5 Raft

技术栈: 多线程编程 线程池应用 线程安全类

相关条目: 无

查看说明与指导书

作业 5 两阶段提交与并发控制

用协调者和三个参与者模拟 2PC,并用锁实现读已提交隔离。

相关知识点: 6.1 事务与 ACID 6.2 隔离级别 6.3 并发控制 6.4 两阶段提交

技术栈: 多线程编程 线程池应用 线程安全类

相关条目: 无

查看说明与指导书

实验

实验 1 基于 TCP Socket 的高并发 Web 服务器

从迭代静态服务器做到线程池并发,再区分短连接和持久连接。

对应关系:与作业 2 是同一题。

相关知识点: 2.1 进程、线程与地址空间 2.2 进程间通信 2.3 客户机与服务器

技术栈: 多线程编程 线程池应用 Socket 编程 Socket 承载应用 Socket 多线程

相关条目: 作业 2 多线程静态 Web 服务器

查看说明与指导书

实验 2 线程池与高并发限流调度

封装带拒绝策略的线程池,用信号量限制并发,并对比三种调度方式的吞吐和延迟。

对应关系:没有单独作业,由实验 7 集成。

相关知识点: 2.1 进程、线程与地址空间 2.3 客户机与服务器

技术栈: 线程池应用 线程安全类

相关条目: 实验 7 消息驱动 Agent 协同平台

查看说明与指导书

实验 3 BlockingQueue 与背压流控

手写有界阻塞队列,做成多生产者多消费者管道,并在队列满时挂起生产者。

对应关系:没有单独作业,由实验 7 集成。

相关知识点: 2.1 进程、线程与地址空间 2.2 进程间通信

技术栈: 线程安全类 生产者-消费者

相关条目: 实验 7 消息驱动 Agent 协同平台

查看说明与指导书

实验 4 Pub/Sub 消息中间件

实现按主题注册和异步分发的消息代理,让发布者不需要知道订阅者在哪里。

对应关系:没有单独作业,由实验 7 集成。

相关知识点: 1 分布式系统概论 2.5 面向消息的通信

技术栈: 生产者-消费者(订阅与推送)

相关条目: 实验 7 消息驱动 Agent 协同平台

查看说明与指导书

实验 5 大模型 API、流式 Token 与 Agent

接入大模型接口,解析 SSE 增量输出,再按模型返回的意图调用工具。

对应关系:没有单独作业,由实验 7 集成。

相关知识点: 2.2 进程间通信 8.2 分布式机器学习

技术栈: 本实验主要调用外部接口,不对应单独例程。

相关条目: 实验 7 消息驱动 Agent 协同平台

查看说明与指导书

实验 6 一致性哈希与虚拟节点集群

实现带虚拟节点的哈希环,用线程池并发读写,并测量扩缩容时的迁移量。

对应关系:与作业 3 是同一题。

相关知识点: 3.2 静态划分 3.3 动态调整 3.5 一致性哈希

技术栈: 多线程编程 线程池应用 线程安全类

相关条目: 作业 3 一致性哈希与多线程并发读写

查看说明与指导书