2.3 客户机与服务器
通信
1. 知识点论述
「2.3 客户机与服务器」是《分布式计算系统》通信部分的核心知识点。说明独立节点如何通过进程、线程、RPC 与消息协同工作。本知识点首先把握:客户机支持位置透明和复制透明:换地址、换副本,调用方式不变。学习时请把它放回整门课主线——把独立计算机组织成对用户像一台机器的系统,并用通信、数据放置、复制、容错与调度把这件事做可靠。
2. 视频教程
select、poll、epoll:一台服务器如何同时应付很多连接
3. 知识点详解
下面围绕本知识点展开要点说明,建议结合上方视频边看边对照。
- 客户机支持位置透明和复制透明:换地址、换副本,调用方式不变。
- 连接方式:面向连接与无连接;迭代服务器与并发服务器。
- 多线程服务器:监听线程接受连接,工作线程处理请求。
- 无状态服务器更容易扩展和恢复;有状态服务可以用无状态服务器加外部状态来实现。
学习建议:先抓住定义与问题,再理解机制步骤,最后对照应用场景思考“何时用、何时不用、代价是什么”。
4. 应用场景
- 无状态 API 网关便于水平扩展与滚动升级。
- 有状态会话可外置到 Redis,服务器本身保持无状态。
- 并发服务器模型是 RPC、HTTP 服务的基础。