2.3 客户机与服务器

通信

1. 知识点论述
「2.3 客户机与服务器」是《分布式计算系统》通信部分的核心知识点。说明独立节点如何通过进程、线程、RPC 与消息协同工作。本知识点首先把握:客户机支持位置透明和复制透明:换地址、换副本,调用方式不变。学习时请把它放回整门课主线——把独立计算机组织成对用户像一台机器的系统,并用通信、数据放置、复制、容错与调度把这件事做可靠。
2. 视频教程

select、poll、epoll:一台服务器如何同时应付很多连接

3. 知识点详解

下面围绕本知识点展开要点说明,建议结合上方视频边看边对照。

  1. 客户机支持位置透明和复制透明:换地址、换副本,调用方式不变。
  2. 连接方式:面向连接与无连接;迭代服务器与并发服务器。
  3. 多线程服务器:监听线程接受连接,工作线程处理请求。
  4. 无状态服务器更容易扩展和恢复;有状态服务可以用无状态服务器加外部状态来实现。
学习建议:先抓住定义与问题,再理解机制步骤,最后对照应用场景思考“何时用、何时不用、代价是什么”。
4. 应用场景
  • 无状态 API 网关便于水平扩展与滚动升级。
  • 有状态会话可外置到 Redis,服务器本身保持无状态。
  • 并发服务器模型是 RPC、HTTP 服务的基础。