• 弹性有点像安全性:它有助于在某些事情没有按预期进行时不至于损失钱财。它也有一个概率成分:因为意外事件和失败只发生在一定的概率下。它也有一个间接的组成部分:如果你的IT系统过于频繁地出现故障,将会导致次要的影响,如失去恼人的客户。这意味着,你的损失不仅是故障的直接影响,
  • 如果您正在实施微服务,那么您很可能正在调用 HTTP 端点。使用 HTTP 调用,很多事情都可能出错。经验丰富的开发人员对此进行计划并进行设计,而不仅仅是快乐的道路。一般来说,容错包括以下特征: 重试 暂停 断路器 倒退 速率限制器以避免服务器
  • Spring Retry 提供了自动重新调用失败操作的能力。这在错误可能是暂时的(如瞬时网络故障)时很有用。在本教程中,我们将看到使用 icon
  • 今天,没有人能保证你构建的微服务不会遇到麻烦。当问题发生时,我们通常希望最简单的解决问题的方法是重试并再次调用 API。 重试可以是您的中间件/API 编排产品处理的一种简单机制。如果记录的性质可以通过主键之类的东西优雅地管理重复,那么这样做的挑战 icon
  • 本文将重点介绍使用 Spring Cloud 断路器库 Resilience4j 实现反应式断路器。 为什么选择 Resilience4j?我们可以使用两个主要库来实现断路器。Netflix Hystrix,它采用面向对象的设计,其中 icon
  • 这是关于如何为第三方 API 集成实现 Feign Reactive 的分步指南。使用Feign Reactive而不是W icon
  • 现代分布式系统被设计为允许发生系统中一部分故障,即使不能取悦所有人,也会继续为一些客户提供服务。而断路器的设计是为了将部分故障变成完全故障。这属于:一种机制可能会打败另一种机制。在部署断路器之前,请确保你考虑清楚这一点:重试(大多数情况下)会使 icon
  • 想象一下你正在买一辆车。您需要其中的哪些基本功能?车辆应该将人从 A 点运送到 B 点。但我们还要检查的是安全性、舒适性、可维护性、易于维修或更好的里程。您也可以寻找电动版本或更快的速度。为什么?为了限制在提供主要功能时可能发生的意外。同样,就像汽车、摩托车或房屋一样,软件也有其非功 icon
  • 重试非常重要,尤其是在微服务系统中,这些服务必须经常协作才能处理请求。如果一个服务只中断了几秒钟会发生什么?其他服务应该在放弃之前向客户抛出错误或重试多次。举个简单的例子:通过http链式调用的服务: icon
  • 在移动应用程序中有效实施支付需要精确关注支付方式、用户体验和欺诈预防等因素。移动支付对企业至关重要,这意味着工程师应该采取深思熟虑的方法,预测所有可能发生的情况。在 DoorDash,我们发现了有助于创建强大且成功的移动支付系统的八个基本因素。DoorDash 已经处理了超过 20 icon
  • 分布式系统中最常见的可靠性模式之一是限制任务处理的速率。此任务可以是要处理的请求或事件。这样做是为了平滑流量的形状并避免流量突发,或者在底层系统运行时仅允许在任何给定时间进行最大特定数量的操作。速率限制器模式用于负载均衡器、公共 API以及作为不同层的网络策略的一部分。 icon
  • 这次我们将深入探讨如何将 Resilience4J CircuitBreaker 与 Spring WebClient 集成。我将向您展示两种将 Resilience4J 与 WebClient 集成的方法。首先使用注释,然后以编程方式。两者都将相当容易。 案例: icon
  • Adobe Experience Platform Pipeline是一个低延迟、基于 Kafka 的流系统。管道连接数百个 Adob​​e 组件和系统。我们的 Kafka 集群处理310B msg/天,300 TB/天的 IN和920 TB/天的 OUT流量。因此,了解 Kafka 客户端 icon
  • 在多台服务器分布在世界各地不同地区的情况下,为每台服务器实施速率限制器将导致两个主要问题: 不一致 竞争条件 在本文中,我们将探讨这两个主要问题,以及我们如何实施更好的策略来解决分布式系统的 icon
  • 从 Android 的角度用Java构建一个简单的速率限制器: 从 Android 的角度使用考虑这样一种情况,您正在编写代码来捕获用户的签名。当他们拖动指针时,您捕获了数千个点。平滑签名可能不需要所有这些,因此您可以使用速率限制进 icon
  • 在客户端应用程序中设置一个库,我们可以一致地处理故障,从而提高系统的感知可用性。在开发在我们自己的公司内部或外部使用的 API 时,除了记录和公开端点之外,我们还可以选择交付客户端库。这种方法对用户有很多好处:更容易实现(有时它甚至是单线),更容易迁移(通常只是增加一个依赖版本),并 icon
  • 您编写了一个 bash 脚本,但由于错误而中途退出,您修复系统中的错误并再次运行脚本。但是脚本中的一半步骤会立即失败,因为它们已经应用于您的系统。要构建弹性系统,您需要编写幂等的软件。 什么是幂等性?幂等脚本可以被多次调用,每次调用都 icon
  • 在处理微服务系统中的故障时,一直使用负载卸载和断路器等本地化缓解机制,但它们可能不如更全球化的方法有效。这些本地化机制在防止单个服务过载方面很有用,但它们在处理涉及服务之间交互的复杂故障时不是很有效,这是微服务的特征失败。 处理这些复杂故障的一种新 icon