云计算的可伸缩性迫使App服务无状态化,互联网营销

简介:   场景内容  云计算因其软件上的按需付费模式而大获成功,它创造了一种伸缩性模型:如果有两个公司,它们正好在相反的时区里,白天都需要10台服务器,晚上减少到1台。那么一个云计算服务商需要11台服务器就能同时为这两个公司提供服务——在任何一个时间点,拿出10台给一家公司用,1台给另一家。

  场景内容

  云计算因其软件上的按需付费模式而大获成功,它创造了一种伸缩性模型:

  • 如果有两个公司,它们正好在相反的时区里,白天都需要10台服务器,晚上减少到1台。那么一个云计算服务商需要11台服务器就能同时为这两个公司提供服务——在任何一个时间点,拿出10台给一家公司用,1台给另一家。
  • 如果这两家公司都使用自己的机器,他们每家都要买10台(总共20台)。其中9台机器会在夜里闲置。
  • 时区可不是来共享这些闲置资源的唯一理由:
    • 运算需求同样是一个很好的应用场景。有些公司会在圣诞节时需要很强的运算能力,而另外一些公司则是在财政年度结束时需要,等等。
    • 有些公司很可能是不能预知何时需要多少资源。例如slashdot效应。不管是哪种情况都是通过共享来让他人使用你的空闲资源。这就使按需付费成为可能。
  • 你可以把这种概念扩展到整个平台成本上——应用程序服务器,数据库和应用。

  

  关于伸缩性的最重要的一点就是——根据负载的情况,白天给公司提供服务的9台机器在夜间自动缩减到1台。而这一台之外的其它8台机器开始给其它公司提供服务。云计算的这种能够允许两个租户(或更多)共享业务处理能力的特性就叫做过程共享的多重租赁。

  那么为什么要无状态的系统架构呢?

  假设个场景,就说白天时间有1000个用户分布在10台机器上,每台机器大概服务100个用户。在一个有状态的系统结构中,每台机器都只为在本机登录并产生了会话(session)的那100个用户服务。这个由http负载均衡来实现,叫做会话粘连(session stickiness)。

  当夜间到来时,让我们假设有900个用户退出系统,其他的100个用户仍然在线。理想情况下,只需1台机器就可以为所有的这些人提供服务。然而,这100个用户可能会分布在所有的这10台机器上,每台10人。所以,缩减到一台机器是不可能的,这样一来,伸缩性就给限制了。

  解决这个问题的一个方法就是把10台机器的所有会话状态都复制到一起。这样一来,任何一台机器都可以为这些用户服务。但每台机器就会用掉10倍的内存来保留所有用户的会话状态。这些会降低服务器的可用性,因为一旦有更多的用户使用时,集群中就需要加入更多的服务器。当你共享多重租赁的应用中的租户突然暴增时,你就没法应付了。

  无状态化后情况会如何变化?

  在无状态的应用中,你可以在任何一个地方执行用户的请求——会话粘连(session stickness)不再是个问题。当用户从1000减到100后,你可以立即释放9台服务器,调给其它公司使用,只用1台为这100个用户服务。.

  这听起来很简单。而实际操作起来却不是那么容易。所有的应用都需要状态。如果应用服务器不去处理这些状态,你就必须想其它的办法。数据库就是一个明显的问题。当前的数据库已经在扩展问题上遇到了足够的麻烦了,再加上状态管理,那是绝对不可行的。所以NoSQL才要“分布式”存储。

  在PaaS服务商中你会看到这是一种常见的架构模式:

  • Google App Engine –无状态请求+ Big Table
  • Microsoft Azure –web角色+ Azure存储/SQL
  • 当然了,还有我们公司– OrangeScape,它是运行在GAE/Amazon EC2 之上的。
  • 我估计VMforce也是这样的– Spring stateless session beans + Force.com DB

  那就都云计算吧!有状态的应用+SQL数据库已成昨日黄花了。(抱歉!实在忍不住。)

  [英文出处]:

  Why does "Elastic" nature of cloud impose "statelessness" constraint on App servers?

目录
相关文章
|
开发者 iOS开发
【教程】无法验证 app 需要互联网连接以验证是否信任开发者
【教程】无法验证 app 需要互联网连接以验证是否信任开发者
|
存储 Serverless 数据库
科普文:云计算服务类型IaaS, PaaS, SaaS, BaaS, Faas说明
本文介绍了云计算服务的几种主要类型,包括IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)、BaaS(后端即服务)和FaaS(函数即服务)。每种服务模式提供了不同的服务层次和功能,从基础设施的提供到应用的开发和运行,再到软件的交付使用,满足了企业和个人用户在不同场景下的需求。文章详细阐述了每种服务模式的特点、优势和缺点,并列举了相应的示例。云计算服务的发展始于21世纪初,随着互联网技术的普及,这些服务模式不断演进,为企业和个人带来了高效、灵活的解决方案。然而,使用这些服务时也需要注意服务的稳定性、数据安全性和成本等问题。
14895 5
|
监控 API 定位技术
App 出海:全渠道营销如何通过性能监控与精准归因实现增长
在App出海竞争加剧的背景下,营销面临流量碎片化和用户体验断层的问题。海外用户决策链路复杂,触点多、周期长且设备场景多样。传统营销归因粗放,性能问题导致用户流失。AppTrace平台通过全链路监控与精准归因体系,整合线上线下数据,优化性能体验,并提供实战案例证明其有效性。最终帮助企业实现数据驱动的渠道优化和全周期用户管理,在海外市场建立核心竞争优势。
|
存储 运维 持续交付
探索云计算的不同服务模型:IaaS、PaaS、SaaS
【5月更文挑战第23天】本文探讨了云计算的三大服务模型:IaaS、PaaS和SaaS。IaaS提供基础设施租赁,允许用户按需付费,聚焦业务创新而非设备维护。PaaS在IaaS基础上提供开发、测试和部署环境,简化应用管理,支持弹性扩展。SaaS则为用户提供可通过互联网访问的软件应用,实现多租户共享,提升工作灵活性。这三种模型满足了不同用户从基础设施到软件服务的多元化需求。
2556 3
|
搜索推荐
销售易NeoCRM:以客户洞察驱动精准营销与高效服务
在竞争激烈的商业环境中,CRM行业正经历深刻变革。企业要脱颖而出,关键在于深化客户洞察。通过360度全生命周期管理、掌握详细客户档案、及时跟进重要客户和快速推进销售进程,企业能精准把握需求,提供个性化服务,提升满意度与忠诚度,驱动业务增长。CRM系统整合多渠道数据,助力企业制定针对性策略,优化客户体验,实现可持续发展。
|
边缘计算 安全 网络安全
|
存储 安全 数据库
阿里巴巴的云计算平台有哪些服务?
【7月更文挑战第1天】阿里巴巴的云计算平台有哪些服务?
2128 57
|
存储 安全 网络安全
云端盾牌:云计算时代的网络安全守护在数字化浪潮中,云计算以其高效、灵活的特性成为企业转型的加速器。然而,伴随其迅猛发展,网络安全问题亦如影随形,成为悬在每个组织头顶的达摩克利斯之剑。本文旨在探讨云计算服务中的网络安全挑战,分析信息安全的重要性,并提出相应对策,以期为企业构建一道坚实的云端防护网。
在当今这个数据驱动的时代,云计算已成为推动创新与效率的关键力量。它允许用户随时随地访问强大的计算资源,降低了企业的运营成本,加速了产品上市时间。但随之而来的网络威胁也日益猖獗,尤其是对于依赖云服务的企业而言,数据泄露、身份盗用等安全事件频发,不仅造成经济损失,更严重损害品牌信誉。本文深入剖析云计算环境中的安全风险,强调建立健全的信息安全管理机制的重要性,并分享一系列有效策略,旨在帮助企业和个人用户在享受云服务带来的便利的同时,也能构筑起强有力的网络防线。
|
机器学习/深度学习 安全 网络安全
云端盾牌:云计算时代的网络安全守护在这个数字脉搏加速跳动的时代,云计算以其高效、灵活的特性,成为推动企业数字化转型的强劲引擎。然而,正如每枚硬币都有两面,云计算的广泛应用也同步放大了网络安全的风险敞口。本文旨在探讨云计算服务中网络安全的关键作用,以及如何构建一道坚不可摧的信息防线,确保数据的安全与隐私。
云计算作为信息技术领域的革新力量,正深刻改变着企业的运营模式和人们的生活。但在享受其带来的便利与效率的同时,云服务的安全问题不容忽视。从数据泄露到服务中断,每一个安全事件都可能给企业和个人带来难以估量的损失。因此,本文聚焦于云计算环境下的网络安全挑战,分析其根源,并提出有效的防护策略,旨在为云服务的安全使用提供指导和参考。
394 8
|
安全 云计算
云计算演进问题之自服务能力在云计算中扮演角色如何解决
云计算演进问题之自服务能力在云计算中扮演角色如何解决
254 3

热门文章

最新文章