当应用生长到用一台服务器已经不能处置产物的需求时,我们的感受会相当矛盾,既兴奋又沮丧。兴奋是因为我们的营业增长了,沮丧是因为我们要迎来开发的新时代,需要接纳新技术扩展系统。凭据实现,我们有时可以依赖集群化的软件复制状态或会话举行扩展,但这种方式只能拖延系统到达极限的时间,若是我们的营业连续以指数级生长,或者只是呈线性生长,早晚都市到达这种极限。若是你的公司谋划得很乐成,那么即使是成本很高的会话同步方式也会很快不能知足它的生长需求。你很快就会发现自己在许多应用服务器的内存中复制了太多信息,很可能需要举行Y轴或Z轴的划分了。
我们的许多客户通常都不举行这类划分,而是依赖负载均衡器维护的关联性处置会话和状态的需求。一旦用户登录了,或启动了应用服务器池专用的某个流程,负载均均衡器就会维持与该应用服务器的关联性,直到功效(就Y轴划分而言,是由差别的池提供差别的功效)或会话(就Z轴划分而言,客户被划分入差别的池中)完成为止。对于许多生长放慢了的产物,或客户对可用性的需求不那么强烈的产物,这种方式足够了。
以前,维护关联性意味着相当高的成本。当几个大的或历久运行的会话定到很少几台服务器上时,容量设计就会变得异常贫苦;当为某些用户运行的应用服务器出故障时,这些用户的可用性会受影响。虽然可以依赖会话复制缔造另一台主机,在系统泛起故障时迁入其中,但如前所述,这种方式要复制内存消耗和系统容量,因此成本很高。
最后,为超高速生长的客户提供的最好解决方案照样只管不使用状态。我们更愿意从“为什么你需要它”这个问题着手,最先讨论状态这个主题。我们的客户则常常会大吃一惊,典型的反应是:“通常不都云云吗,我们需要知道刚刚发生了什么,然后才气决议下一步做什么。”若是用收益、增添的交易量等数据来说明状态的功效,他们常常会不知所措。然则,简直有些解决方案可能需要状态,如实施工作流的状态机的解决方案。更常见的情形是,状态是种奢侈品,而且成本很高。
永远不要低估了应用中“简朴且容易”这个原则的气力,它是对于“昂贵和庞大”的有用武器。 Craigslist用一个大型的基于文本的无状态应用,在内陆分类广告的竞争中战胜了eBay,虽然eBay总是尽可能地保持应用无状态,有一个含许多主要功效,而且比竞争对手 Craigslist早泛起很多年的颇具竞争力的分类广告产物。在内陆分类广告的竞争中简朴胜出。不相信吗? Google在搜索市场又是若何应对对手的呢?在其他人都致力于开发厚实的界面时, Google最初确立的理念就是:你的最后一个搜索效果才是最主要的,而且你真正想要的就是最好的搜索效果。没有状态,没有会话,异常现实。
(责任编辑:网络)

评论列表