Architecture 基于客户端服务器的云计算:区别、利弊?

Architecture 基于客户端服务器的云计算:区别、利弊?,architecture,client-server,cloud,Architecture,Client Server,Cloud,据我所知,云计算可能是软件架构师的一种进化,它将取代一些当前的架构,如客户机-服务器 对我来说,这两种架构似乎有着共同点(我对两者知之甚少),但我不知道它们之间的区别。与客户机-服务器架构相比,云计算的优缺点是什么 非常感谢。云计算只是客户机-服务器体系结构的营销用语。客户机-服务器 在广阔的计算世界中,只有两种应用 独立应用程序,以及 客户机-服务器应用程序 Standalone仅仅意味着用户界面、业务逻辑、数据存储以及任何和所有资源都完全独立于单个执行环境(最终用户的机器)中 相反,客户机-

据我所知,云计算可能是软件架构师的一种进化,它将取代一些当前的架构,如客户机-服务器

对我来说,这两种架构似乎有着共同点(我对两者知之甚少),但我不知道它们之间的区别。与客户机-服务器架构相比,云计算的优缺点是什么


非常感谢。

云计算只是客户机-服务器体系结构的营销用语。

客户机-服务器

在广阔的计算世界中,只有两种应用

  • 独立应用程序,以及
  • 客户机-服务器应用程序
  • Standalone仅仅意味着用户界面、业务逻辑、数据存储以及任何和所有资源都完全独立于单个执行环境(最终用户的机器)中

    相反,客户机-服务器意味着这些组件、服务和资源之间存在某种逻辑隔离。通常,我们在本地执行[aka“client”]中看到用户界面,在远程执行[aka“server”]中看到业务和数据存储以及其他资源。一些例子,

    • MSN Messenger[包含我们在本地计算机上运行的应用程序,而后端服务有助于远程位置的通信]
    • Facebook[包含一个瘦应用程序-我们的网络浏览器-和一个远程服务-他们的服务器]
    • StackOverflow[相同的Facebook]
    有了这个,让我们看看云计算

    云计算

    云计算是传统服务器托管解决方案的抽象。现在,我不再自己购买10台服务器在自己的运营数据中心运行和管理,而是从一家供应商那里租赁X台服务器,X是一个由我随时决定的可变数字

    利用云有一个明显的优势。如果我买了10台服务器,我必须管理和维护这10台服务器,即使它们没有得到充分利用(比如说,只有1台服务器90%的时间都在使用,而所有10台服务器在高峰时间都有10%的时间被固定)。这意味着我在90%的时间里支付了太多的维护费用,而当我需要增加剩下的10%时,我就变得僵化了

    云计算的优势在于“其他人”正在为我们管理服务器场,并且愿意根据需要向我们出租不同数量的机器。因此,在我们上面的场景中,我可以在非工作时间租赁一台机器90%,并在剩余的10%时间内扩展到10台或更多的机器

    微软在WindowsAzure上更进一步地实现了这一抽象。它们不租用通用服务器,而是租用应用程序域。这是云实现具有实际设计含义的一个例子,但它是基于弹性托管的相同前提

    关系


    在很大程度上,因为客户机-服务器是一种软件范例,而云计算是一种托管抽象,所以它们是独立的概念。然而,Keeners会意识到,云计算意味着业务、数据存储和其他资源都是远程托管的,这就要求在“云”中运行的任何应用程序是客户机-服务器应用程序的一部分。

    我认为客户机-服务器通常是作为软件/应用程序的必需品来实现的,但云计算通常被选择用于优化,如节省成本和维护。

    云架构是使用互联网可访问的按需服务的软件应用程序的设计。基于云架构构建的应用程序使得底层计算基础设施仅在需要时使用(例如,处理用户请求)、按需提取必要资源(如计算服务器或存储)、执行特定任务、,然后放弃不需要的资源,并在工作完成后自行处理。在运行中,应用程序根据资源需求弹性地向上或向下扩展


    示例:当前正在使用Amazon Web Services提供的按需基础设施进行生产的应用程序。此应用程序允许开发人员跨数百万web文档进行模式匹配。该应用程序按需启动数百个虚拟服务器,使用名为Hadoop的开源分布式处理框架在其上运行并行计算,然后关闭所有虚拟服务器,将其所有资源释放回云,所有这些都只需很低的编程工作量,而且对调用方来说成本非常合理。

    我要在“传统”中添加这一点客户机-服务器模式您指的是一台服务器与多个客户机,但对于云计算,您通常指的是具有多个客户机的分布式服务器根据Wikipedia,云计算从客户机-服务器派生出特征,但它们不相同。据我所知,云计算是客户机-服务器的一个特例,而不是客户机-服务器本身。非常具体地说,云计算是客户机-服务器体系结构的一个子集。在涉及的OSI层中可能有几种变体,但最终,总是有一台客户端计算机向一台服务器计算机发出请求并返回其响应。那么点对点呢?我仍然会称之为客户端服务器。只是客户机变成了其他客户机的服务器。阅读一些评论到另一个答案,我可能在一个更广义的上下文中思考……在P2P中没有“集中式”的服务器,所以我不认为这是一种相同的交流。“从某个角度来看”,Obi Wan总是这样聪明的屁股。我的回答来自客户机-服务器的较低级别定义,主要是因为这是我在分布式应用程序中编写组件和服务的地方。在这样一个层次上,“P2P”并不存在,也不存在任何其他高层次的术语。它确实存在于更高的层次,描述网络或通信