云计算的可伸缩性
云计算服务因为它的按需付费模式而大获成功,它创造了一种可伸缩性模型:
如果有两个公司,它们正好在相反的时区里,白天都需要10台服务器,晚上只需要1台。那么一个云计算服务商只需要11台服务器就能同时为这两个公司提供服务——在任何一个时间点,拿出10台给一家公司用,1台给另一家。而如果这两家公司都使用自己的服务器,他们每家都要买10台(总共20台)。其中9台服务器会在夜里闲置。
当然,时区并不是使用云计算服务的唯一理由,不同时间内要求的计算能力的不同也是一个重要的原因。有些公司会在圣诞节时需要很强的计算能力,而另外一些公司则是在财政年度结束时需要,等等。
另外有些公司并不能确定自己什么时候需要什么样的计算能力。如果它们选择了云计算服务,不管在什么情况下都可以通过共享来让他人使用你的空闲资源,或者使用别人的空闲资源。这就使按需付费的云计算服务模式变得更加的流行。
这种可伸缩的概念可以扩展到整个平台成本上,包括服务器,数据库以及应用程序。
关于伸缩性的最重要的一点就是——根据负载的情况来进行调整,白天给公司提供服务的9台服务器在夜间自动缩减到1台。而这一台之外的其它8台服务器开始给其它公司提供服务。云计算的这种多重租赁的特性能够允许两个用户(或更多)共享业务处理能力,同时也节约了大量的资源。
可伸缩性的局限性
假设以个场景,就说白天时间有1000个用户分布在10台服务器上,每台服务器大概服务100个用户。在一个有状态的系统结构中,每台服务器都只为在本机登录的那100个用户服务,每台服务器平均分配了这1000个用户的访问。
当夜间到来时,让我们假设有900个用户退出系统,其他的100个用户仍然在线。理想情况下,只需1台服务器就可以为所有的这些人提供服务。然而,这100个用户可能会分布在所有的这10台服务器上,每台10人。所以,缩减到一台服务器是不可能的,这样一来,伸缩性的局限性就表现出来了。
解决这个问题的一个方法就是把10台服务器的所有用户都集中到一台服务器中。这样一来,任何一台服务器都可以为这些用户服务。但是每台服务器中用户的资料必须继续保存着,这就相当于每台服务器会用10倍的内存来保存用户的会话状态。这些会降低服务器的可用性,因为一旦有更多的用户使用时,服务器就显得有些不够了。当云计算服务商的一个客户用户量突然增多的时候,其他的客户也就势必会受到影响。
无状态化服务架构
一些云计算服务商开始使用无状态化架构来解决这一问题。如Google App Engine使用无状态请求 + Big Table;Microsoft Azure使用web角色 + Azure存储/SQL等等。在无状态的应用中,你可以在任何一个地方执行用户的请求,用户的会话状态不再是个问题。当用户从1000减到100后,你可以立即释放9台服务器,调给其它公司使用,只用1台为这100个用户服务。.
这听起来很简单。而实际操作起来却不是那么容易。因为所有的应用都需要状态,而如果服务器不去处理这些状态,你就必须想其它的办法。数据库就是一个明显的问题。当前的数据库已经在扩展问题上遇到了足够的麻烦,如果再加上状态管理,显然是不可行的。所以,分布式的存储就是一个很好的解决办法。
原文出自【比特网】,转载请保留原文链接:http://datacenter.chinabyte.com/88/11577088.shtml
分享到:
相关推荐
构建可伸缩的系统是现代IT架构设计中的关键议题,特别是在面对互联网应用、大数据处理以及云计算等场景时,系统的可伸缩性成为了决定其成功与否的重要因素。在“可伸缩的系统技术方案”这一主题下,我们探讨了一系列...
其基本特点包括科学性、易用性、可移植性,能够打破传统计算机应用的局限性。云计算体系构架分为三个主要部分:核心服务层、服务管理层和用户访问接口。核心服务层提供基础的硬件、软件环境和应用服务,拥有高可用性...
云计算中的大规模分布式计算能力、弹性可伸缩的资源利用模式以及按需付费的商业模式,为软件测试提供了高效、灵活、经济的测试环境。云计算使得测试者可以迅速获得大量的计算资源和存储资源,从而在较短的时间内执行...
随着企业应用和服务不断升级,传统数据中心的局限性逐渐显现,云计算凭借其可扩展性、弹性以及成本效益等优势,成为企业IT系统演进的重要方向。企业在向云环境迁移过程中,面临的挑战是多方面的,包括技术挑战、成本...
云计算的主要特点包括按需自助服务、宽带网络访问、资源池化、快速伸缩性和按使用付费等。 云计算为中小企业带来了许多优势。首先,它能够降低企业的IT投资成本。中小企业不需要在初期投入大量资金用于购买硬件设备...
它构建在资源层的虚拟化资源之上,确保高可用性、可伸缩性和易管理性,通过云平台框架和效劳组件为开发者提供支持。 3.3 软件即服务(SaaS) 最上层的应用层,运行在PaaS层上,提供了各种具体的业务应用,如Google ...
云计算是一种基于互联网的计算方式,通过互联网上异构、分布式的计算机系统为用户提供动态的、可伸缩的、虚拟化的资源,是一种新兴的计算模式。本文件《云计算在图书馆管理中的优势探析》针对的是如何利用云计算技术...
云计算的出现,为用户提供了按需自助服务,实现了广泛的网络访问,资源的池化共享,快速伸缩性以及可计量的服务能力。 在云计算技术的实际应用中,首先需要深入理解云计算的基本概念。云计算根据服务模式的不同,...
它能够提供可伸缩的、虚拟化的、高可用性的计算资源。云测试是软件测试领域的一个新兴概念,它依赖于云计算技术来提供测试服务。软件测试在云计算环境下可以构建新的系统框架,从而提高测试效率和质量。 首先,...
嵌入式系统在为云计算提供微任务服务的同时,也因其高效的处理能力、安全性和实时性,成为了物联网和人工智能领域不可或缺的基础技术。而容器技术,作为连接云计算与嵌入式系统的桥梁,使得云平台能够更高效地服务于...
3. 计算能力:云计算可提供强大的计算资源,对于那些需要大量计算的BIM应用,如复杂模型的渲染、结构分析等,可以在云端进行,摆脱了本地计算机的硬件限制。 4. 成本效益:云计算的按需付费模式,让小型企业和个人...
云计算的可伸缩性、灵活性和成本效益,为各种规模的企业提供了处理大数据的可行方案。随着技术的发展,更多企业将能够利用云平台的强大功能,实现数据的有效分析和利用,从而在激烈的市场竞争中脱颖而出。
虽然云计算理论上具有强大的计算能力,但将大量数据集中在单一服务器上进行处理仍然存在局限性,尤其是当数据量达到数十万台服务器级别时,数据处理速度可能变慢,且面临安全风险。其次是成本问题。云计算的初始投资...
在云计算时代,IT系统建设模式已经不再局限于传统的自建模式,而是向着更加灵活、高效、可扩展的云服务模式转变。企业需要根据自身实际情况,合理选择适合的云服务,以实现信息化建设的快速发展和效益最大化。
云计算是一种基于网络的计算资源交付和使用模式,它通过互联网提供动态的、可伸缩的、虚拟化的资源。随着云计算的广泛应用,其相关的计算机网络安全问题逐渐成为人们关注的焦点。本文将详细介绍云计算环境下的计算机...
云计算技术在现代教育领域中的应用是教育信息化的一个重要方面,它通过互联网提供可伸缩的、弹性的IT服务,这些服务可以是数据中心、网络、服务器、存储、应用程序和软件等。本文探讨的基于云计算技术的高校教育在线...
它具有可伸缩性、灵活性和资源共享性等特点。大数据则是指利用传统数据处理应用软件难以处理的大规模和复杂的数据集合。在云计算技术的支持下,大数据的处理、分析和应用得到了极大的促进。云计算和大数据技术的结合...
首先,云计算是一种基于互联网的计算模式,它利用网络资源提供动态可伸缩的虚拟资源。云服务模型来源于网格计算、分布式计算、并行计算、效用计算、网络存储技术、虚拟化以及负载均衡等传统计算技术和网络技术的发展...