软件弹性工程与设计

     

又是每个程序员都应该知道的:幂等性

24 2K

在编程世界中,每个开发人员都应该理解许多概念,以便构建高效可靠的系统。其中一个重要的概念是幂等性,它指的是操作或函数的属性,多次应用时产生的结果与仅应用一次.

限量抢票系统Ticketmaster的设计问题

269 4K

最近,Ticketmaster因泰勒·斯威夫特巡回演唱会门票销售时发生重大系统故障而成为新闻。该网站在需求的重压下崩溃,导致粉丝不满,声誉受损。 .

Netflix按需集群发现的零配置服务网格

231 3K

在这篇文章中,我们将讨论Netflix对服务网格的采用:一些历史,动机,以及我们如何与Kinvolk和Envoy社区合作开发一个简化复杂 .

使用 Skupper 实现 Kubernetes 多集群负载均衡

345 1 4K

在本文中,您将了解如何利用 Skupper 在多个.

RESTful API和事件驱动系统中的幂等性

325 4K

如果您正在构建 REST API 或事件驱动系统,幂等性是您需要考虑的一个非常重要的属性,因为它对于拥有弹性系统至关重要,并且它将帮助您避免不必要的额外副作用。 .

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

616 6K

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

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

321 2K
一个金融应用程序:当客户发送请求时,使用客户端的用户ID从第三方服务获取他们的账户信息,保存交易并更新 .

混沌工程简介

649 2K

混沌工程最著名的应用也许始于Netflix,当时他们开发了Chaos Monkey。 什么是混沌工程?使用混沌工程.

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

428 11K
在处理 微服务 系统中的故.

Spring Cloud Retry 指南 | baeldung

336 1 5K

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

用Java构建一个简单的速率限制器

857 2K

从 Android 的角度用Java构建一个简单的速率限制器: 从 Android 的角度使用 .

Feign Reactive:访问REST API的首选

2342 8K

这是关于如何为第三方 API 集成实现 Feign Reactive 的分步指南。 使用 .

弹性工程设计:Actor模型与微服务架构比较 - ufried

1652 1 9K
弹性有点像安全性:它有助于在某些事情没有按预期进行时不至于损失钱财。 它也有一个概率成分:因为意外事件和失败只发生在一定的概率下。 它也有一个间.

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

1348 7K
重试非常重要,尤其是在 微服务 <.

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

881
在多台服务器分布在世界各地不同地区的情况下,为每台服务器实施速率限制器将导致两个主要问题: 不一致 .

系统架构10大架构特征 - zonito

1898 4K

想象一下你正在买一辆车。您需要其中的哪些基本功能?车辆应该将人从 A 点运送到 B 点。但我们还要检查的是安全性、舒适性、可维护性、易于维修或更好的里程。您.

探索 Kafka Producer 的内部结构 - Alex

879 3K

Adobe Experience Platform Pipeline是一个低延迟、基于 Kafka 的流系统。管道连接数百个 Adob​​e 组件和系统。我.

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

1446 1

今天,没有人能保证你构建的 微服务 .

Golang漏桶算法限速 - ITNEXT

1283 8K
分布式系统中最常见的可靠性模式之一是限制任务处理的速率。此任务可以是要处理的请求或事件。这样做是为了平滑流量的形状并避免流量突发,或者在底层系统运行时仅允许.

断路器真的有效吗?重试会让情况更糟糕! - brooker

779 2 2K

现代 分布式系统 被设计为允许.

使用Resilience4j实施反应式断路器 - Wenqi

1126 2 12K

本文将重点介绍使用 Spring Cloud 断路器库 Resilience4j 实现反应式断路器。   为什么选择 Resil.

从DoorDash安卓应用中学到的8个技巧

1271 2K
在移动应用程序中有效实施支付需要精确关注支付方式、用户体验和欺诈预防等因素。移动支付对企业至关重要,这意味着工程师应该采取深思熟虑的方法,预测所有可能发生的.

使用Resilience4J增强Spring WebClient容错性 – Arnold

1092 10K

这次我们将深入探讨如何将 Resilience4J CircuitBreaker 与 Spring WebClient 集成。 我将向您展示两种将 R.

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

794 4K

在客户端应用程序中设置一个库,我们可以一致地处理故障,从而提高系统的感知 .

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

1454 1 2K

如果您正在实施 微服务 ,.

如何编写幂等的 Bash 脚本?- Arslan

737 3K

您编写了一个 bash 脚本,但由于错误而中途退出,您修复系统中的错误并再次运行脚本。但是脚本中的一半步骤会立即失败,因为它们已经应用于您的系统。要构建弹性.

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

1121 1 7K

在这个 微服务 世界中,我.

Golang的滑动窗口计数器Redis限速实现

2042 1

这是一个基于Figma 工程团队的 .

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

979 6K

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

使用Kafka重新架构电子商务系统 - Dina

1272 1 2K
示例是:向经过身份验证的用户显示产品页面,下图显示了在这种情况下如何执行请求。 .