提高应用程序可用性的五个要点

  • 时间:
  • 浏览:1
  • 来源:大发彩神在线计划—大发彩神计划怎么来的

  可用性和风险管理息息相关。构建一另一个高可用的系统,主要那么来越多 要考虑要怎样管理风险。

  示例演示了什么是风险缓和,而确认风险、选用该要怎样处理风险,以及要怎样实现什么缓和土办法的过程则被称为风险管理。

  除非你看得人大难题占据 ,随后你越多知道应用应用程序中占据 着大难题。你应当确保对应用应用程序进行了适当的监控,以便能那么从实物和实物另一个视角来观察应用应用程序的运行清况 。

  你应当为服务间通信建立实物的、私有的运行目标,并持续对它们进行监控。通过并都有土办法,当出現任何与性能日后可用性相关的大难题时,你都能那么快速诊断出哪个服务日后系统出現了大难题,并定位大难题的因为。此外,让我发现一些“热点”——即性能超出预期的地方,以及针对什么大难题制订相应的开发计划。

  此外,一帮人一帮人一帮人 歌词 还能那么显示一另一个“下一次购买享受10% 折扣”的优惠券,另另一个就能那么鼓励日后那么进行购买的用户,在搜索服务恢复正常后,继续回到一帮人一帮人一帮人 歌词 的网站上进行购买。

  假设你的应用应用程序占据 了故障,那么它是要怎样占据 的?当你构建系统的日后,应当在设计和实现的方方面面都考虑可用性。相似:

  一帮人一帮人一帮人 歌词 知道最受欢迎的T 恤是红色条纹T 恤,80% 访问网站的用户最终都有等待在(并很日后最都有购买)并都有产品上。随后,日后搜索服务停止了,一帮人一帮人一帮人 歌词 能那么显示一另一个“很抱歉”的页面,下方是一帮人一帮人一帮人 歌词 最受欢迎的T 恤列表,其中就包括红色条纹T 恤。

  这否是因为整个页面都需用动态生成呢?显然都有 。除了页面的登录/ 问候累积,一些累积都有 静态的,通过CDN 能那么轻松地进行分发并节省你的计算资源。

  想及时获得更多精彩文章,可在微信中搜索“博文视点”日后扫描下方二维码并关注。

                         

  你有考虑过任何设计模式吗?你有使用它们来帮助你提升软件的可用性吗?

  从用户的宽度来实时检测应用应用程序的运行清况 ,以便在用户真正发现大难题日后发现它们。

  一些日后,拒绝式服务过随后自于“友方”。相似,用户之都有日后看得人一另一个临时活动,随后因为极少量请求增加。日后,用户应用程序中的一另一个bug,日后因为一帮人一帮人一帮人 歌词 向你的应用应用程序拼命地发送请求。日后另另一个的事情占据 了,让我要怎样做?流量突增会让我的应用应用程序宕机吗?日后你能那么检测出并都有大难题,通过限制请求的带宽来降低日后消除它们的影响?

  一帮人一帮人一帮人 歌词 称之为风险管理,它是构建高可用系统的核心内容。

  具体一些,这日后因为:

一帮人一帮人一帮人 歌词 歌词 来全部讲解其中的每一另一个要点。

  日后你依赖的组件出現了故障,让我要怎样做?你要怎样进行重试?日后大难题是一另一个无法恢复的(硬件)故障,让我要怎样做?日后是一另一个可恢复的(软件)故障呢?

  断路器模式在处理依赖故障时非常有用,日后它们能那么降低依赖故障对你的系统的影响。

  构建一另一个高可用、可伸缩的应用应用程序都有 一件容易的事,那么来越多 会是天上掉下来的馅饼。大难题总会以你从未预期的土办法出現,让我精心设计的功能对所有用户都停止工作。

  这会鼓励遇到并都有错误页面的用户,继续浏览别人另另一个感兴趣的T 恤。

  当导航栏中大多数内容都有 静态内容时,让我在用户的浏览器中动态地将变更内容加带到页面上(相似根据具体清况 加带“请登录”日后“你好,Lee”的内容)。通过将什么动态数据进行分组,并与静态内容加以区分,能那么提高Web 页面的性能,降低应用应用程序需用处理的动态数据量。另另一个能那么提高可伸缩性,并最终提高可用性。

  监控服务器的健康清况 ,随后确保它们始终在有效运行。

  并都有示例中的风险缓和计划日后是另另一个的:

  风险管理中的一另一个累积是风险缓和。风险缓和指的是当大难题占据 时,一帮人一帮人一帮人 歌词 知道要怎样去尽日后降低大难题所带来的影响。缓和因为即使当服务和资源不可用时,依然尽日后确保你的系统以最好的、最全部的清况 工作。风险缓和需用考虑什么事情之都有出错,随后立即制订相应的计划,以便当大难题占据 时还会 提供相应的处理方案。

  监控的程度取决于应用应用程序的特点和要求,随后通常需用具备以下什么监控。

  日后那么风险缓和计划,当搜索服务失败时,之都有产生一另一个错误页面,日后返回不正确或无效的结果——不管要怎样,它都有带来很差的用户体验。

  为了实现搜索的功能,通常相似网上商店需用调用一另一个独立的搜索引擎,这日后是一另一个单独的服务,日后甚至由第三方的搜索服务提供。

  风险管理老是会暴露应用应用程序中未知的、需用立即修复的大难题。它还能那么用来处理已知的故障大难题,减少故障恢复时间日后降低严重性。

  为了发现什么可用性的大难题,一帮人一帮人一帮人 歌词 需用后退一步,系统地去了解应用应用程序的运行机制。以下是一个让我关注、随后应当关注的要点,它们还会 帮助你的系统在规模增长的一并保证高可用性:

  日后你对监控中所占据 的大难题置之不理,那么监控系统就毫无用处。这因为当大难题占据 需用用要发出报警,另另一个我想要有所行动。除此之外,你应当建立整个团队都遵循的流程,帮助诊断大难题,并轻松修复常见的故障大难题。

保持系统高可用需用消除风险。随后当系统变得那么繁复时,消除所有风险也变得那么不日后实现。保持一另一个大型系统高可用,更多的是来管理系统的风险,知道什么风险是什么,什么风险是可接受的,以及我想要做什么来缓和风险。

  示例:风险缓和——一另一个那么搜索功能的网上商店

  那么有还会 预料到大难题会在何处占据 ,那么来越多 日后依靠测试来发现所有什么大难题。一些大难题都有 系统性的大难题,而不仅仅是代码的大难题。

  当触发某个服务的报警时,该服务的负责人需用是第一另一个被通知到的。毕竟,一帮人一帮人一帮人 歌词 负责修复我每每各人服务中的所有大难题。随后,一些与之紧密相关或依赖的团队也应当收到报警信息。相似,日后某个团队使用了一另一个特殊服务,一帮人一帮人一帮人 歌词 希望知道该服务什么日后出現故障,从而在大难题占据 时还会 更加主动地保证我每每各人的系统不受影响。

  通常,看上去是动态的内容实际上大多数是静态的。设想一另一个网站上常见的顶部导航栏,绝大多数日后,其中的内容都有 静态的,随后偶尔也会出現一些动态的内容。

  如今市面上有一些非常优秀的监控系统,包括免费和付费的服务。我我每每各人推荐NewRelic,它提供了日后提到的所有监控和报警能力。作为一款软件即服务(SaaS)的软件,它还会 支持任何规模的应用系统的监控需求。当你对应用应用程序和服务进行监控日后,请结束了了了英语 寻找它们的运行趋势。当你明确了一定的趋势日后,能那么结束了了了英语 寻找一些异常值,将它们作为日后占据 的可用性大难题。让我利用什么异常值,在系统占据 故障日后通过监控工具来发送警报。除此之外,你还能那么在系统增长过程中时刻进行跟踪,确保可伸缩性计划的实施。

  日后出現大难题的因为是系统的某个用户,让我要怎样做?我想要处理海量的请求吗?我想要限制海量的流量吗?我想要处理传入的垃圾数据吗?日后数据量非常大,让我要怎样做?

  通过使用一些设计模式,相似捕获底层异常、重试逻辑和断路器,能那么帮助你捕获错误并尽日后处理影响一些功能。另另一个,你就还会 限制大难题的影响范围,即使应用应用程序的一些累积出現大难题,依随还能不能 提供一些一些有用的功能。

  所有什么流程、土办法以及支持手册都应该提前准备好,以便当服务出現大难题时,值班人员能准确知道要怎样在不同的清况 下进行操作,快速恢复服务。什么流程和土办法并非 非常有效,是日后故障通常都占据 在一些不太方便的时间点,相似夜里日后周末什么带宽比较低下的时间。什么建议能那么帮助你的团队更聪明、更安全地将系统恢复到可运行清况 。

  正如Amazon 的CTO Werner Vogels 所说,“所有事情每时每刻都有失败”。你应当提前为应用应用程序和服务占据 故障而做出计划。大难题迟早会产生。不过现在,一帮人一帮人一帮人 歌词 要讲的是要怎样处理它。

  那么还会 预测到可用性大难题在什么地方、哪天占据 。但遇见让我假设它们会占据 ,尤其是当你的系统面临那么来越多的用户需求,变得那么繁复的日后。提前做好处理可用性大难题的准备,是降低大难题出現概率和严重性的最佳土办法。

  本文选自《可伸缩架构:面向增长应用的高可用》,点此链接可在博文视点官网查看此书。

                    

  监控系统配置的变化,以便选用它们对应用应用程序的影响。

可用性大难题通常会在你最想那么的地方出現,一些大难题都有 系统性的大难题,而不仅仅是代码的大难题。本文提出了一个要点还会 帮助你的系统在规模增长的一并保证高可用性。

如您对可用性都有 很了解,试试在微信后台回复“可用性”来了解更多。

相关图书推荐,《可伸缩架构:面向增长应用的高可用》

  保持系统高可用需用消除系统中的风险。当系统占据 故障时,通常一帮人一帮人一帮人 歌词 日后在这日后将故障因为选用为了风险。随后,选用风险是提高可用性的一另一个重要土办法。所有的系统中都占据 以下什么风险:

  假设有一另一个售卖T 恤的网上商店。它是一另一个很常见的在线商店,让我在它的首页上浏览T 恤,跳转到一些页面查看不同的T 恤分类,随能不能那么搜索指定风格和类型的T 恤。

究竟内容应该是静态的还是动态的?

  日后那么断路器,你之都有日后依赖故障而降低系统的性能(相似,需用一另一个很长的超时机制来检测故障)。而使用了断路器,让我“放弃”并停止使用某个依赖,直到你确认它日后恢复了正常工作。

  当大难题占据 时通知相关人员,以便使大难题能那么得到快速有效的处理,将对用户的影响降低到最小。

  相似,日后你那么登录,页面的顶部之都有显示“请登录”,日后你日后登录了则显示“你好,Lee”(当然前提遇见你的名称是Lee)。

一次简单的图标故障

这占据 在我亲身经历的一另一个应用应用程序中,是一次日后忽视依赖故障的典型案例。该应用程序向用户提供了一另一个服务,为每个页面顶部提供一另一个自定义的图标,来表示当前登录的用户。并都有图标由一另一个第三方系统负责生成。

有一天,并都有生成图标的第三方系统占据 了故障。一帮人一帮人一帮人 歌词 的应用应用程序却假设该系统老是会正常运行,随后并谁能谁能告诉我要怎样处理并都有清况 。结果是,一帮人一帮人一帮人 歌词 的应用应用程序也跟着占据 故障。一帮人一帮人一帮人 歌词 整个系统仅仅是日后图标生成另另一个一另一个非常小的“功能”,因为无法提供任何服务。

要怎样还会 处理另另一个的大难题呢?日后一帮人一帮人一帮人 歌词 还会 预料到第三方系统日后占据 故障,就能那么在设计过程中考虑到并都有故障占据 的场景,从而发现一帮人一帮人一帮人 歌词 的应用应用程序也会随之占据 故障。另另一个,一帮人一帮人一帮人 歌词 就能加带一些逻辑来检查第三方服务,在大难题占据 时删除图标,日后在大难题占据 时捕获错误,处理它传递下去并影响页面的一些累积。

一次小小的检查和一些错误恢复机制,就能那么帮助应用应用程序保持正常运行。随后,一帮人一帮人一帮人 歌词 的应用应用程序就会经历严重的服务中断。

所有并都有切都有 日后缺少了一另一个图标。

  随后,日后搜索功能是一另一个独立的功能,你的系统就占据 搜索服务不可用的风险。你的风险管理计划需用选用出该大难题,随后将“搜索引擎失败”列为风险之一。

  什么标准的流程和土办法应当被写进支持手册中,团队中每个负责人人手一份。这本支持手册还应该带有相关系统和服务的联系人列表,以及当无法用简单手段处理大难题时,需用上报大难题的联系人列表。

  什么可用性大难题通常会在你最想那么的地方出現,甚至一些最严重的大难题会来自于最不日后出現的地方。

  相似,日后某个系统无法响应,你之都有有一系列土办法来处理。这其中日后包括运行一另一个测试来诊断大难题因为,重启一另一个已知会因为系统无法响应的守护应用程序,日后当一些手段都失败时重启整个服务器。为常见的故障大难题提供标准化流程能那么降低系统不可用的时间。此外,它们还能那么提供更多有用的诊断信息,帮助工程师团队找到常见大难题的根本因为。

  你的系统现在正常运行,那么多因为它明天还还会 继续正常运行。大多数Web 应用应用程序的流量都有 在不断增加的。一另一个今天产生一定流量的网站,明天之都有产生远比你想象大得多的流量。当你构建系统时,那么多只考虑当前的流量,要考虑未来的流量。

  深入了解你的应用应用程序和服务,确保它们按照预期运行。