限速与重试指南

     

Spring Boot中@Retryable重试教程

28 12K

在不断连接的分布式系统世界中,应用程序经常面临短暂故障的困扰。这些意外的问题(例如网络故障或临时数据库中断)可能会导致合法操作失败,尽管一切正常。传统上,处理这些暂时性故障意味着繁琐的错误处理代码,其.

SpringBoot中实现API速率限制的令牌桶算法项目

76 4K

这个github项目是利用Bucket4j以及 Redis 缓存和 Spring Security 过滤器对私有 API 端点实施速率限制。需要升级到 Spring Boot 3 和 Spring S.

弹性工程中4种不同的速率限制策略

53 11K

速率限制器是一种工具,用于监控客户端 IP 可以发送到 API 端点的每单位时间的请求数。如果请求数量超过某个阈值,速率限制器将在一段时间内阻止客户端 IP 发送进一步的请求。关键概念 限制:客户端I.

SpringBoot异步重试机制

122 2K

探讨 Spring 对异步和重试操作的支持。假设我们需要构建一个简单的微服务来调用下游服务来处理一些数据。1、需要包含spring-boot-starter-web maven 依赖项:<depend.

REST API有关幂等性等11条最佳实践

327 18K

(and-how-not-to)-design-REST-APIs在我的职业生涯中,我使用了数百个 REST API 并制作了数十个。由于我经常在 API 设计中看到相同的错误,因此我认为写下一组最佳.

解决Kafka消息丢失的一个简单办法

763 6K

虽然Kafka是一个功能强大的消息系统,但由于网络问题,我们可能会遇到一些不理想的情况。我们也遇到过由于网络问题导致的事件丢失,在试图避免这些丢失的同时,我们也遇到了由于相同原因导致的不同问题。在这篇.

使用 Spring Retry 实现数据库连接重试案例

471 2K
一个金融应用程序:当客户发送请求时,使用客户端的用户ID从第三方服务获取他们的账户信息,保存交易并更新缓存中的详细信息。尽管整个流程看似简单,但每个下游系统都不可靠。我们必须在每个层上实现重试,而且我.

微服务故障的全局解决:Aperture 简介

659 11K
在处理微服务系统中的故障时,一直使用负载卸载和断路器等本地化缓解机制,但它们可能不如更全球化的方法有效。这些本地化机制在防止单个服务过载方面很有用,但它们在处理涉及服务之间交互的复杂故障时不是很有效,.

Spring Cloud Retry 指南 | baeldung

447 1 4K

Spring Retry 提供了自动重新调用失败操作的能力。这在错误可能是暂时的(如瞬时网络故障)时很有用。在本教程中,我们将看到使用Spring Retry 的各种方式:注释、RetryTempla.

ulid/spec: 全局唯一标识符ULID是传统UUID的替代

1526 1

ULID 是 UUID 的替代品。它是可排序的并且基于时间戳+随机种子。有多种语言的实现可用。Shopify从UUID切换到ULID,INSERT提升50%,以下是他们经验:分布式系统使用不可靠的网络.

Feign Reactive:访问REST API的首选

3010 8K

这是关于如何为第三方 API 集成实现 Feign Reactive 的分步指南。使用Feign Reactive而不是WebClient 作为 REST API 消费客户端。Spring WebCl.

Kotlin和Java简单的重试代码 - Vlad

1367 1 2K

这是您无需任何其他库或代码依赖项即可重试部分代码的方式。如果需要更复杂的东西,推荐使用Resilience4j库,因为它提供了其他即用型功能。public static <T> T executeWi.

Udemy在Apache Kafka上引入热重试和冷重试

1134 1 3K
Udemy Payments Team中关于如何使用 Apache Kafka  的非阻塞重试来构建容错事件传递系统的概述Udemy 平台上有超过 4600 万学生和 64400 万课程注册,每天都有.

Apache Kafka重试和维护重试事件的顺序

1542 7K
重试非常重要,尤其是在微服务系统中,这些服务必须经常协作才能处理请求。如果一个服务只中断了几秒钟会发生什么?其他服务应该在放弃之前向客户抛出错误或重试多次。举个简单的例子:通过http链式调用的服务:.

分布式系统中的内存限速器 - ajin

994
在多台服务器分布在世界各地不同地区的情况下,为每台服务器实施速率限制器将导致两个主要问题: 不一致 竞争条件 在本文中,我们将探讨这两个主要问题,以及我们如何实施更好的策略来解决分布式系统的这些问题。.

探索 Kafka Producer 的内部结构 - Alex

1025 3K

Adobe Experience Platform Pipeline是一个低延迟、基于 Kafka 的流系统。管道连接数百个 Adob​​e 组件和系统。我们的 Kafka 集群处理310B msg/.

使用幂等key实现可重试的幂等性API设计 - yeng

1639 1

今天,没有人能保证你构建的微服务不会遇到麻烦。当问题发生时,我们通常希望最简单的解决问题的方法是重试并再次调用 API。重试可以是您的中间件/API 编排产品处理的一种简单机制。如果记录的性质可以通过.

大规模分布式系统中的级联故障 - stuttgart

1428 2K
对谷歌、亚马逊和 Co.等公司来说服务的可靠运行非常重要,但它们的系统一次又一次地出现故障,导致大量中断和糟糕的客户体验。人们经常会遇到所谓的级联 故障,导致超出普通系统故障的不良并发症。即使是在线业.

在分布式系统中通过客户端库包提高可用性

913 4K

在客户端应用程序中设置一个库,我们可以一致地处理故障,从而提高系统的感知可用性。在开发在我们自己的公司内部或外部使用的 API 时,除了记录和公开端点之外,我们还可以选择交付客户端库。这种方法对用户有.

JVM上容错库的初步比较 - frankel

1540 1 2K

如果您正在实施微服务,那么您很可能正在调用 HTTP 端点。使用 HTTP 调用,很多事情都可能出错。经验丰富的开发人员对此进行计划并进行设计,而不仅仅是快乐的道路。一般来说,容错包括以下特征: 重试.

使用幂等性抑制API服务中的重复请求 - tkareine

991

将幂等性作为建立 API 设计原则来支持。我在这里选择使用 GraphQL 作为应用层协议,但无论使用其他协议,例如 REST 或 RPC,原理都是相同的。GraphQL 查询操作根据服务器的当前状态.

使用Spring Boot重试失败编写一个反向代理 - Ashrith

1245 1 8K

在这个微服务世界中,我们总是强调通过 API/服务网关层传递任何 HTTP 请求,该层连接多个微服务,并有一个最低要求,即记录每个服务的所有请求和响应以获得更清晰的可见性。我们可以考虑在以下场景中编写.

如何使用SpringBoot的重试功能模块? - Gavin

1088 8K

重试功能是 Spring Batch 模块的一部分。从 2.2.0 开始,此功能从 Spring Batch 中提取出来并作为一个单独的模块进行维护。要在 Spring 应用程序中启用此功能,请将此依.

亚马逊认为在分布式系统中必须避免使用回退

1211 1 2K

在分布式系统领域,回退策略是最难应对的挑战之一,对于时间敏感的服务来说尤其如此。更糟糕的是,不良的回退策略可能需要很长时间(甚至数年)才能产生影响,而优质策略与不良策略之间的差异并不明显。本文将重点讲.

远程调用的容错模式 - pragmatists

1151 1 3K

我们生活在一个不完美的世界里,失败是不可避免的。我们依赖的系统迟早会失败。我们无法采取任何措施来阻止它,但我们有能力减轻级联故障。我们只需要在我们的工具箱中添加一些工具。 超时必须了解任何资源池都可能.

Airbnb在分布式支付系统中如何避免双重支付?

1582 1 14K
Airbnb一直在将其基础架构迁移到面向服务的架构(“SOA”)。SOA 提供了许多优点,例如支持开发人员专业化和更快迭代的能力。但是,它也给计费和支付应用程序带来了挑战,因为它使维护数据完整性变得更.

如何使POST请求具有幂等性防止重复提交 - mscharhag

4372 1 4K

幂等性是一个积极的 API 特性。它有助于使 API 更具容错性,因为客户端可以在出现连接问题时安全地重试请求。HTTP 规范将 GET、HEAD、OPTIONS、TRACE、PUT 和 DELETE.

Spring Cloud Gateway的API速率限制 - spring.io

2069 4K
架构上当务之急之一是保护API和服务端点免受有害影响,例如拒绝服务,级联故障。或过度使用资源。速率限制是一种控制使用API​​或服务的速率的技术。在分布式系统中,没有比集中配置和管理使用者可以与API.

使用SpringBoot实现微服务超时重试模式 - Vinsguru

1984 4K
使用resilience4j的库和Spring Boot设计高弹性的微服务。微服务本质上是分布式的。当您使用分布式系统时,请始终记住这一第一法则- 网络中可能发生任何事情。处理任何此类意外故障可能很难.

Apache Kafka和Spring Boot的容错和可靠消息传递 – Arnold Galovics

3351 3 26K

在过去的几年中,Kafka已经开始大幅增加其市场份额。除了微服务和消息传递之外,还有一种已经开始流行的架构模式:事件溯源。Kafka提供了架构模式所需的属性,因此非常适合事件采购。事件源中的关键概念之.