首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >点对点是客户机-服务器架构模式的一种变化吗?

点对点是客户机-服务器架构模式的一种变化吗?
EN

Software Engineering用户
提问于 2019-09-29 06:24:33
回答 2查看 168关注 0票数 0

根据软件工程( Software ):Pfleeger和Atlee的理论与实践书,对等架构风格与Client体系结构模式不同。但在第二版的“微软应用架构指南”中,有人指出,点对点是客户端服务器(链接 )的一个变体。请任何人向我澄清这一点,哪个是正确的?

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2019-09-29 07:19:07

这取决于你正在寻找的特征,以衡量他们有多近。

微软的文章将P2P风格看作是C/S的一种扩展,因为它有潜在的沟通潜力,所以从通信开发技术的角度来看:

P2P样式允许客户端和服务器交换它们的角色,以便在多个客户端之间分发和同步文件和信息。它通过对请求的多个响应、共享数据、资源发现和删除对等点的弹性来扩展客户机/服务器风格。

然而,大多数C/S系统不提供对称客户端。有时甚至选择C/S风格,因为客户端和服务器无法交换。因此,除了通信的对称性和非对称性之外,还必须有其他的东西可以起作用。

如果不看通信(Microsoft的文章视图),而是查看控件,那么您将把这两种样式看作是非常不同的。因为大多数C/S实现了主仆关系的变体(中央控制),而P2P实现了相等的关系。

如果您在网络中查看拓扑结构,您还会看到两幅非常不同的图片: C/S有一棵树状的形状,而P2P有一种网格。

所以总的来说,我不会说它是一个变体。

票数 1
EN

Software Engineering用户

发布于 2019-09-29 21:23:06

使客户端“客户机”和服务器“服务器”的原因有几个方面:

  1. 服务器通过DNS注册使自己可用。
  2. 客户端知道或必须被告知服务器(例如,它知道或被告知服务器的名称,然后通过DNS或目录/搜索服务了解服务器的IP地址)
  3. 客户端要求服务器建立连接(服务器在此步骤中了解客户端)
  4. 客户端请求,例如向服务器发出命令或查询
  5. 服务器响应客户端。

客户端可以(1)发起连接,(2)启动请求/响应模式;而服务器不能执行这些操作,这也意味着客户机不需要主机/域名或发布其IP地址。

通过使用从客户端到服务器的长时间运行(或者说抽象)请求的技巧,在建立连接之后,服务器可以有效地启动与客户端的通信,请求/响应可以逆转--服务器发出请求和客户端响应,如果客户端需要,它可以中断一个长时间运行的请求,执行一个新的特定请求,从而重新控制请求/响应对。

在真正的对等点中,我们假设任何一方都可以发起连接(这意味着对等方必须事先了解对方(或目录服务)),然后,任何一方都可以发起请求/响应,或者只是发送单向消息,这些有效地消除了客户机-服务器中的不对称。

虽然比较尴尬,但通过使用一对客户机-服务器角色(每个节点同时扮演客户端角色和服务器角色)可以形成对等点,然后,任何一方都可以启动连接,任何一方都可以发起请求/响应。

点对点可能是对客户端服务器的验证(不确定这意味着什么);然而,对等点不需要客户机服务器,这是一个重要的区别。

客户机-服务器出于某种目的有限制,所以使用客户机-服务器这个术语是否意味着那些重要的限制,或者,客户机和服务器的更广泛的功能和实现需求的结合。如果是客户机和服务器,那么我想我们可以考虑对等和扩展或客户机服务器的变体(否则就不会)。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/399070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档