速度和可靠性是可以两全其美的

这篇具有很好参考价值的文章主要介绍了速度和可靠性是可以两全其美的。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

通过采用整体方法并利用工程原理和实践,我们可以两全其美——速度和可靠性。

当涉及到在线服务时,正常运行时间是至关重要的,但这并不是唯一需要考虑的事情。想象一下,经营一家网上商店——让你的网站99.9%的时间都可用听起来不错,但如果0.1%的停机时间发生在假日购物季呢?这可能意味着失去大笔销售额。如果你的大多数客户只对少数受欢迎的商品感兴趣呢?如果这些页面不可用,那么网站的其他部分是否正常工作也没关系。
速度和可靠性是可以两全其美的
为了取得成功,重要的是不仅要保持正常运行时间,还要为重大事件做好准备。一些团队在关键时间之前实施变更冻结,如黄金日、黑色星期五或网络星期一。这种方法是合理的,但它可能是有限的,因为它不允许团队对意外的机会或关键情况做出快速反应。此外,并不是所有的需求都可以预测,也不总是清楚这些高影响事件何时会发生。这就是“重要时的可靠性”的用武之地。我们需要能够适应和快速响应客户需求的变化,而不会被代码冻结期所阻碍,并为不可预见的情况做好准备。

通过将时间视为一种宝贵的资源,并了解不同时刻的相对重要性,组织可以更好地转化客户价值,并相应地调整风险和可用性预算。这种方法使组织能够灵活应对需求变化,而不会错过关键功能或机会。最后,这是关于当运气来临时做好准备。

需要注意的是,一个系统不是静态的,而是不断变化的。系统本身、托管的基础设施和工程组织都会随着时间的推移而变化。这意味着有关系统的知识也会发生变化,这可能会影响可靠性。

除此之外,无论我们如何努力防止事故和停机,事故和停机都是不可避免的。错误将被发送,错误的配置将被部署,并且会发生人为错误。也可能存在相互依赖性,从而导致停机。一个事件很少有单一的原因,通常是多种因素共同作用的结果。解决方案也是如此,当它们涉及到原则和实践的结合,以减轻停机的影响时,这些解决方案是最有效的。

操作系统通常意味着要应对现实世界的压力,如时间、市场和管理需求,以更快地交付。这可能导致走捷径,并可能损害系统的可靠性。用户群和组织的增长和扩展也会带来额外的复杂性,并导致意外或不可预见的行为和故障模式。然而,通过采用整体方法并利用我将在下面介绍的工程原理和实践,我们可以两全其美——速度和可靠性。这不是非此即彼的情况,而是两者之间微妙的平衡。

1、什么是可靠性

速度和可靠性是可以两全其美的
可靠性是任何系统的重要组成部分,因为它不仅保证可用性,而且保证正常运行。一个系统可能是可访问的,但如果它不能准确地运行,它就缺乏可靠性。目标是在系统内实现可用性和准确性,这需要控制故障并将其影响降至最低。然而,并非所有故障都具有同等的重要性。例如,阻止结账和付款的问题远比图像加载中的小故障更重要。重要的是要专注于确保重要功能在关键时刻正确工作。

换句话说,我们希望专注于在高峰时段保持可用性和正确运行,为最重要的功能提供服务,无论是流行页面还是流程的关键部分。确保系统在繁忙时期正常工作是很困难的,但重要的是要以深思熟虑和彻底的方式来处理。这包括对系统的技术、操作和组织方面的思考。

这种方法的关键部分包括:

设计具有弹性、容错和自我修复能力的系统。

在极端条件下主动测试系统,以识别潜在的弱点并防止倒退。

有效的操作实践:定义托管拓扑、自动扩展、自动化部署/回滚、实施更改管理、监控和事件响应协议。

应对增长、市场需求和工程质量的竞争压力。

培养一种重视协作、知识共享、开放、简单和工艺的文化。它还需要关注结果,以避免犹豫不决,并为客户提供尽可能好的体验。

此外,我们将扩展“重要时的可靠性(Reliability when it matters)”的概念,并为组织提供切实可行的步骤,以确保关键时刻的可用性和功能。我们将讨论关键要素,如设计可靠性系统、主动测试和监控,并深入研究自动化部署和事件响应协议等实际步骤。

2、可靠性度量:优化的重要工具

速度和可靠性是可以两全其美的
在优化服务或系统时,首先定义目标并建立监控进度的方法至关重要。您选择的指标应能让您全面了解系统的可靠性,易于理解、共享,并突出需要改进的领域。

以下是一些常见的可靠性指标:

事件频率:每单位时间内发生的事件数。
事件持续时间:事件持续的总时间。
虽然这些指标是一个很好的起点,但它们并没有显示事故对客户的影响。让我们考虑以下图表:
速度和可靠性是可以两全其美的
假设我们有两个事件,一个在凌晨1点,另一个在下午2点,每个事件都导致大约10%的请求在30分钟内失败。将这些事件视为对可靠性同样有影响,并不能反映它们对客户的真实影响。通过考虑交通量,可靠性指标可以更好地表明高峰交通期间的事件具有更大的影响,值得更高的优先级。

我们的目标是有一个明确的信号,表明高峰交通期间的事故是一个应该解决的主要问题。这种区别有助于确定任务的优先级,并确保资源得到有效利用。例如,它可以防止营销团队为吸引更多访客所做的努力被浪费。此外,跟踪每个发布的事件频率可以帮助改进部署和测试过程,并减少意外问题。最终,这将导致更快的交付和更低的风险。

3、深入挖掘指标

要更深入地了解这些指标并找到需要改进的地方,请尝试跟踪以下内容:

检测时间:注意到一个事件需要多长时间。
通知时间:通知相关方需要多长时间。
修复时间:修复一个事件需要多长时间。
事件间隔时间:这可以揭示系统故障的模式或趋势。
操作项完成率:完成任务的百分比。
行动项目解决时间:实施解决方案所需的时间。
高严重事故的百分比:这衡量系统的总体可靠性。
最后,在每周运营期间定期审查这些指标有助于关注进展、识别成功并确定优先级。通过将此作为您文化的常规组成部分,您可以使用这些指标中的数据来推动更好的决策并逐步优化系统。

记住,衡量标准的有用性在于从中采取的行动及其推动进步的能力。这是一个不断完善数据和行动项目的反馈循环,以保持系统的改进。

4、弹性设计

一个没有弹性的系统可能无法顺利处理高峰时间。以下是一些有助于确保系统在各种条件下的可靠性的注意事项:
速度和可靠性是可以两全其美的

要做的:

为组件故障做好准备:通过划分服务或使用隔离,可以限制爆炸半径并减少故障的影响。
实现容错:实现重试、请求对冲和背压等机制将提高系统的可用性和性能。
使用速率限制和流量配额:不要仅仅依靠上游依赖关系来保护自己。使用速率限制和流量配额来确保您的系统保持可靠。
分类功能: 通过将职能划分为“关键”、“正常”和“尽最大努力”类别来确定职能的优先级。这将有助于在高需求期间不惜一切代价保持基本功能的可用性。
实现错误定步和甩负荷:这些机制有助于防止或减轻流量滥用或滥用。
持续挑战系统:持续挑战系统并考虑潜在故障,以确定需要改进的领域。
恢复计划:实施故障转移机制,并在发生故障时计划恢复。这将有助于减少停机时间,并确保在具有挑战性的条件下提供基本服务。
进行战略权衡:在具有挑战性的外部条件下,进行战略权衡并优先考虑基本服务。

不要做的:

不要以为调用者会按预期使用您的服务。
不要忽视罕见但潜在的失败;规划和设计预防措施。
不要忽视硬件故障的可能性。

总结

确保系统的可靠性是一项全面的工作,包括找出正确的指标,考虑到弹性进行设计,以及实施可靠性测试和操作。通过关注可用性、功能性和满足最重要的需求,组织可以更好地转化客户价值,并相应地调整风险和优先级。

建立和维护一个即使在最恶劣的条件下也能处理的系统,不仅有助于推动业务成功并取悦客户,而且还能给从事该系统的人带来成就感。可靠性是一个持续的过程,需要关注、技能和纪律。通过遵循最佳实践,不断挑战系统,培养有韧性的心态,团队和组织可以创建强大可靠的系统,能够承受任何挑战。文章来源地址https://www.toymoban.com/news/detail-423279.html

到了这里,关于速度和可靠性是可以两全其美的的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • TCP如何保证可靠性,TCP如何实现可靠性传输的

    tcp 如何保证可靠性 大家都知道TCP是可靠性传输协议,既然是可靠的,就需要解决比如包丢失了、数据被破坏了、包重复了、乱序了等等这样的问题。下面将从几个方面介绍TCP的可靠性。 1. 校验和 TCP每一段报文都有校验和,这保证了报文不被破坏或篡改,如果收到的报文在校

    2024年02月10日
    浏览(50)
  • 嵌入式硬件电路可靠性的关键问题的分析(可靠性介绍)

    :失效率 温度 可靠性 降额 器件工艺 质量与可靠性的区别 质量:时间点上去衡量                                              可靠性:一段时间上才能衡量,需要有量才能去衡量(大部分是产品量产之后才会出现问题) 质量:在时间点上衡量

    2024年03月24日
    浏览(48)
  • 配电网可靠性评估(4)—(顶刊复现)基于线性规划的配电网可靠性评估

            之前的博客中介绍了配电网可靠性评估的三种方法、分别是解析法中的最小路法,以及序贯蒙特卡罗模拟法及非序贯蒙特卡洛模拟法,顺带提到了含有分布式电源的配电网可靠性评估方法。 配电网可靠性评估(一)最小路法和非序贯蒙特卡洛模拟法 配电网可靠性评

    2024年02月08日
    浏览(53)
  • RabbitMQ --- 消息可靠性

    消息队列在使用过程中,面临着很多实际问题需要思考:      消息从发送,到消费者接收,会经理多个过程: 其中的每一步都可能导致消息丢失,常见的丢失原因包括: 发送时丢失: 生产者发送的消息未送达exchange 消息到达exchange后未到达queue MQ宕机,queue将消息丢失 co

    2024年02月14日
    浏览(50)
  • 可靠性测试

    我们认为软件可靠性始终是重要的,但它对于任务关键型、安全关键型和高使用率系统是必不可少的。如您所料,可靠性测试可用于降低可靠性问题的风险。可靠性故障背后的常见问题包括内存泄漏、磁盘碎片和耗尽、间歇性基础设施问题以及超时值低于可行值。 可靠性定义

    2024年02月16日
    浏览(49)
  • RabbitMQ-保证消息可靠性

    消息从发送,到消费者接收,会经理多个过程: 其中的每一步都可能导致消息丢失,常见的丢失原因包括: 发送时丢失: 生产者发送的消息未送达exchange 消息到达exchange后未到达queue MQ宕机,queue将消息丢失 consumer接收到消息后未消费就宕机 针对这些问题,RabbitMQ分别给出了

    2024年02月07日
    浏览(53)
  • RabbitMQ消息的可靠性

    面试题: Rabbitmq怎么保证消息的可靠性? 1.消费端消息可靠性保证: 消息确认(Acknowledgements) : 消费者在接收到消息后,默认情况下RabbitMQ会自动确认消息(autoAck=true)。为保证消息可靠性,可以设置autoAck=false,使得消费者在处理完消息后手动发送确认(basicAck)。如果消费

    2024年04月14日
    浏览(74)
  • 什么是软件可靠性测试?

    最近整理总结笔记,笔者发现可靠性测试记得含糊笼统,于是花了一些时间,通过查阅资料,引入自己的理解,整理出了什么是可靠性测试,如何做可靠性测试。 什么是软件可靠性测试? “可靠”一词意味着某种事物是可靠的,并且每次都会给出相同的结果。可靠性测试也

    2024年02月05日
    浏览(51)
  • SpringAMQP开启“可靠性”机制

    上一篇介绍了如何在 《SpringBoot 中集成和使用消息队列》,看过这一篇就基本上可以在SpringBoot中使用消息队列了,但是消息队列他归根结底是一个客户端服务器模式的中间件,面对复杂的网络环境和分布式使用环境,难免会出现各种问题。出现问题不可怕,重点在于如何预防

    2024年02月21日
    浏览(50)
  • RabbitMQ如何保证消息可靠性

    目录 1、RabbitMQ消息丢失的可能性 1.1 生产者消息丢失场景 1.2 MQ导致消息丢失 1.3 消费者丢失 2、如何保证生产者消息的可靠性 2.1 生产者重试机制 2.2 生产者确认机制 2.3 实现生产者确认 2.3.1 配置yml开启生产者确认 2.3.2 定义ReturnCallback 2.3.3 定义ConfirmCallback 3、MQ消息可靠性 3.1

    2024年02月20日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包