networking - 客户端-服务器模型有多少种实现方式

标签 networking client-server

受阅读史蒂文斯网络编程第 1 卷第 30 章“客户端/服务器设计替代方案”的启发,我想知道实现客户端/服务器模型的不同方法。有人可以提供一些摘要列表或您自己喜欢的列表,并通过一些典型的使用示例更好地说明吗?它们的优点和缺点是什么?这将是非常好的学习和将来引用。

感谢您的任何意见。

最佳答案

基本上客户端-服务器实现可以归结为以下情况:

  • 同步服务器 - 同步客户端
  • 异步服务器 - 同步客户端
  • 同步服务器-异步客户端
  • 异步服务器 - 异步客户端

  • 同步服务器和客户端设计更易于实现和维护。但是,它在缩放方面存在问题。

    相反,异步服务器和客户端更难实现和维护。
    异步实现显着扩展,通常用于高负载场景。

    我最喜欢的异步服务器实现之一是 SEDA概念。
    其他有趣的概念是Disraptor与环形缓冲区。

    关于networking - 客户端-服务器模型有多少种实现方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5716063/

    相关文章:

    python - 下载文件后无法写入客户端

    swift - 在服务器上创建模型的正确方法

    c 中的客户端/服务器套接字

    java - 多线程 Socket 通讯 Client/Server

    c - 在recvfrom 和socket 之后使用connect

    java - 识别网络接口(interface)的种类

    sockets - 从 'struct sock'导出套接字fd

    java - 第一个 tcp 字节会丢失吗?

    java - 更新显示不同布局的应用程序小部件

    C# TCP 读取所有数据 - 服务器端问题