作业与实验
5 份编程作业和 7 个实验。作业 2 对应实验 1,作业 3 对应实验 6,实验 7 把前面的实验收成一个系统。
作业和实验的关系
作业名称 实验名称 实线表示同一题,虚线表示同章但题目不同,箭头表示被实验 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 服务器
查看说明与指导书实验
实验 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 协同平台
查看说明与指导书实验 7 消息驱动 Agent 协同平台
把通信网关、有界队列、消息代理、一致性哈希存储和大模型 Agent 收成一个可压测的系统。
对应关系:综合实验 1 到 6,没有同名作业。
相关知识点: 1 分布式系统概论 2.1 进程、线程与地址空间 2.2 进程间通信 2.3 客户机与服务器 2.5 面向消息的通信 3.5 一致性哈希 5.1 为什么要容错 5.3 检测与恢复 8.2 分布式机器学习
技术栈: 线程池应用 Socket 编程 Socket 多线程 线程安全类 生产者-消费者 生产者-消费者(订阅与推送)
相关条目: 实验 1 基于 TCP Socket 的高并发 Web 服务器 实验 2 线程池与高并发限流调度 实验 3 BlockingQueue 与背压流控 实验 4 Pub/Sub 消息中间件 实验 5 大模型 API、流式 Token 与 Agent 实验 6 一致性哈希与虚拟节点集群
查看说明与指导书