南昌seo-赣州九江网站建设-宜春吉安做网站推广公司
南昌seo动态
当前位置:首页 > 南昌seo动态

努力实现无状态

发布时间:2019-04-13 作者: 来源:

设计和实现无状态系统。适用于设计新系统或重新设计现有系统。尽可能选择无状态实现。如果业务需要,则合理地实施状态。实施状态限制了可扩展性并增加了成本。在任何系统中,都需要对状态进行抵制。使用业务度量和多个(或AB)测试来确定应用程序中的状态是否真正实现了用户的预期行为和业务价值。 TR TR 当应用程序发展到不再可能使用单个服务器处理产品时,我们的感觉相当矛盾,既令人兴奋又令人沮丧。兴奋是因为我们的业务不断发展,令人沮丧的是,我们正迎来一个新的发展时代,需要采用新技术来扩展系统。根据实施情况,我们有时可以依赖群集软件复制状态或会话扩展,但这种方法只能延迟系统达到极限。如果我们的业务继续以指数方式或线性增长,它迟早会到来。这个限制。如果您的公司运营非常成功,即使是昂贵的会话同步方法也很快无法满足其开发需求。您很快就会发现自己在许多应用程序服务器的内存中复制了太多信息,并且您可能需要划分Y轴或Z轴。 TR TR TR 我们的许多客户通常不进行此类分区,而是依赖负载均衡器维护的相关性来处理会话和状态要求。一旦用户登录或启动专用于应用程序服务器池的进程,负载均衡器就会保持与应用程序服务器的关联,直到该功能(在Y轴分区方面,由不同的池提供)功能)或会话(在Z轴划分,客户分为不同池)完成。对于许多放慢速度的产品或客户对可用性的需求较少的产品而言,这已足够。 TR   以前,保持相关性意味着高成本。当在几台服务器上设置几个大型或长期运行的会话时,容量规划变得非常麻烦;当为某些用户运行的应用程序服务器发生故障时,这些用户的可用性会受到影响。虽然可以依赖会话复制来创建另一个主机并在系统出现故障时进入它,如前所述,此方法会复制内存消耗和系统容量,因此成本很高。 TRTR 最后,超快客户的最佳解决方案是尽量不使用该状态。我们更愿意从“你为什么需要它”开始,并开始讨论国家的主题。我们的客户经常感到惊讶。典型的反应是A“通常不是全部,在我们决定下一步做什么之前,我们需要知道刚刚发生了什么。 ”如果利用收入,增加交易量和其他数据来说明国家的有效性,他们往往会感到不堪重负。但是,某些解决方案确实需要状态,例如实现工作流的状态机解决方案。更常见的是,国家是奢侈品和昂贵的。 TR TR 永远不要低估这个原则在“简单易行”的应用中的力量,它是对付“昂贵和复杂”的有效武器。  Craigslist使用大型基于文本的无状态应用程序在本地分类广告竞争中击败eBay,尽管eBay始终保持应用程序无状态,其中一个具有许多重要功能且早于竞争对手  Craigslist竞争广告产品已存在多年。只需赢得本地分类广告的竞争。不相信吗? 谷歌如何应对搜索市场的竞争?当其他人都在使用丰富的界面时, 谷歌最初建立的想法是A是你最后的搜索结果是最重要的,而你真正想要的是最好的搜索结果。没有国家,没有谈话,非常实际。 TR TR 关键是会话和州都很昂贵,只有通过AB测试或多变量分析确定它们才能实施,以显示关键运营指标的竞争优势。会话(和状态)需要内存,这意味着编码更复杂,运行事务的时间稍长。这减少了每台服务器每秒可处理的事务量,从而增加了所需的服务器数量。考虑到容纳状态所需的存储器,所需的系统可能更大或更昂贵。可能有必要开发一个“状态组”。 (在本章后面描述),这意味着更多的设备。当然,更多的设备意味着更多的空间,电力和冷却设备,并且在虚拟化世界中需要更多的云资源。请记住,对于每个服务器(或虚拟机),我们必须支付两倍的成本,因为我们需要提供空间,提供冷却系统并提供电力。即使使用云资源,成本也是一样的,它们只是为我们打包。 TRTR 最好的办法是始终在任何应用程序或服务中询问有关状态要求的问题。用“开发无状态应用程序”强调这一原则。为清楚起见,状态分发(将状态转移到浏览器,或分布式状态服务器或缓存)与无状态不同。 TR TR
上一篇:避免系统串联