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

发布于 2024-11-02 06:41:07 字数 163 浏览 1 评论 0原文

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

感谢您的任何意见。

Inspired by reading Stevens network programming vol 1, chapter 30 "client/server design alteratives", I am wondering about different ways of implementing the client/server model. Can someone provide some summary list or your own favourite one, better illustrated with some typical usage examples? What are the pros and cons of them? That would be very great to learn and reference in future.

Thanks for any inputs.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

演多会厌 2024-11-09 06:41:07

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

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

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

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

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

Basically client-server implementation can boiled to following cases:

  • synchronous server - synchronous client
  • asynchronous server - synchronous client
  • synchronous server - asynchronous client
  • asynchronous server - asynchronous client

Synchronous server and client design is easier to implement and maintain. However, it has problems with scaling.

Contrary, asynchronous server and client are way harder to implement and maintain.
Async implementation scales remarkably and is usually used in high load scenarios.

One of my favourite implementations for async server is SEDA concept.
Other interesting concept is Disraptor with the ring buffer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文