【微服务】SpringBoot 重试常用解决方案汇总与使用详解

【微服务】SpringBoot 重试常用解决方案汇总与使用详解

目录

一、前言

二、微服务重试介绍

2.1 重试介绍

2.1.1 为什么引入重试

2.2 引入重试后需要注意的问题

2.3 重试的最佳实践

三、微服务中常用的重试解决方案

3.1 Spring-Retry 实现方案

3.1.1 Spring-Retry 常用注解

3.1.2 Spring-Retry 最佳实践

3.2 Guava Retryer 实现方案

3.2.1 Guava Retryer介绍

3.2.2 Guava Retryer适用场景

3.3 自定义注解 + AOP 实现方案

3.4 Resilience4j 重试实现方案

3.4.1 Resilience4j 是什么

3.4.2 Resilience4j 核心模块

3.4.3 Resilience4j 使用场景

四、几种核心重试组件的具体集成和使用

4.1 Spring-Retry 集成和使用过程

4.1.1 导入依赖

4.1.2 启用重试功能

4.1.3 创建一个服务类并使用@Retryable

4.1.4 增加一个测试接口

4.1.5 效果测试

4.2 Resilience4j 集成与使用

4.2.1 导入依赖

4.2.2 增加配置文件

4.2.3 增加一个模拟重试的业务方法

4.2.4 增加一个测试接口

4.2.5 效果验证

4.3 Guava Retryer 集成与使用

4.3.1 导入核心依赖

4.3.2 创建重试工具类

4.3.3 业务方法中使用重试工具类

4.3.4 增加一个测试接口

4.3.5 效果测试

4.4 自定义注解 + AOP 实现

4.4.1 添加自定义注解

4.4.2 添加自定义切面类

4.4.3 使用自定义注解

4.4.4 增加一个测试接口

4.4.5 效果测试

4.5 几种方案的对比

五、写在文末


一、前言

在微服务开发场景中,经常会碰到调用失败的情况,比如:

  • 消息发送失败;
  • 远程调用rpc接口失败;
  • 调用三方http接口失败;
  • 网络原因,幂等性场景下数据库超时导致数据增删改失败;
  • ...
诸如此类的场景有很多,对于发起调用的一方,为了保证方法(http接口)调用的可靠性,通常会通过重试的机制来保障,下面介绍几种在微服务开发模式下比较常见的实现重试的解决方案。

二、微服务重试介绍

Read more

不止“996”!曝硅谷AI创业圈「极限工作制」:每天16小时、凌晨3点下班、周末也在写代码

不止“996”!曝硅谷AI创业圈「极限工作制」:每天16小时、凌晨3点下班、周末也在写代码

编译 | 郑丽媛 出品 | ZEEKLOG(ID:ZEEKLOGnews) “如果你周日去旧金山的咖啡馆,会发现几乎每个人都在工作。” 这是 AI 创业公司 Mythril 联合创始人 Sanju Lokuhitige 最近最直观的感受。去年 11 月,他特地搬到旧金山,只为了更接近 AI 创业浪潮的中心。但很快,他也被卷入了这股浪潮带来的另一面——一种越来越极端的工作文化。 Lokuhitige 坦言,他现在几乎每天工作 12 小时,每周 7 天。除了每周少数几场刻意安排的社交活动(主要是为了和创业者们建立联系),其余时间几乎都在写代码、做产品。 “有时候我整整一天都在编程,”他说,“我基本没有什么工作与生活的平衡。”而这样的生活,在如今的 AI 创业圈里并不算罕见。 旧金山 AI 创业圈的真实日常 一位在旧金山一家 AI

By Ne0inhk
黄仁勋公开发文:传统软件开发模式终结,参与AI不必非得拥有计算机博士学位

黄仁勋公开发文:传统软件开发模式终结,参与AI不必非得拥有计算机博士学位

AI 究竟是什么?在 NVIDIA CEO 黄仁勋看来,它早已不只是聊天机器人或某个大模型,而是一种正在迅速成形的“新型基础设施”。 近日,黄仁勋在英伟达官网发布了一篇长文,提出一个颇具形象的比喻——AI 就像一块“五层蛋糕”。从最底层的能源,到芯片、基础设施、模型,再到最上层的应用,人工智能正在形成一整套完整的产业技术栈,并像电力和互联网一样,逐渐成为现代社会的底层能力。 这也是黄仁勋自 2016 年以来公开发表的第七篇长文。在这篇文章中,他从计算机发展史与第一性原理出发,试图解释 AI 技术栈为何会演化成如今的形态,以及为什么全球正在掀起一场规模空前的 AI 基础设施建设。 在他看来,过去几十年的软件大多是预先编写好的程序:人类设计好算法,计算机按指令执行,数据被结构化存储在数据库中,通过精确查询调用。而 AI 的出现打破了这一模式——计算机开始能够理解图像、文本和声音,并根据上下文实时生成答案、推理结果甚至新的内容。 正因为智能不再是预先写好的代码,而是实时生成的能力,支撑它运行的整个计算体系也必须被重新设计。

By Ne0inhk
猛裁1.6万人后,网站再崩6小时、一周4次重大事故!官方“紧急复盘”:跟裁员无关,也不是AI写代码的锅

猛裁1.6万人后,网站再崩6小时、一周4次重大事故!官方“紧急复盘”:跟裁员无关,也不是AI写代码的锅

整理 | 郑丽媛 出品 | ZEEKLOG(ID:ZEEKLOGnews) 过去几年里,科技公司几乎都在同一件事上加速:让 AI 参与写代码。 从自动补全、自动生成函数,到直接修改系统配置,生成式 AI 已经逐渐走进真实生产环境。但最近发生在亚马逊的一连串事故,却给整个行业泼了一盆冷水——当 AI 开始真正参与生产环境开发时,事情可能远比想象复杂。 最近,多家媒体披露,本周二亚马逊内部紧急召开了一场工程“深度复盘(deep dive)”会议,专门讨论最近频繁出现的系统故障——其中,一个被反复提及的关键词是:AI 辅助代码。 一周 4 次严重事故,亚马逊内部紧急复盘 事情的起点,是最近一段时间亚马逊系统稳定性明显下降。 负责亚马逊网站技术架构的高级副总裁 Dave Treadwell 在一封内部邮件中坦言:“各位,正如大家可能已经知道的,最近网站及相关基础设施的可用性确实不太理想。” 为此,公司决定把原本每周例行举行的技术会议

By Ne0inhk
这回真的“装”到了!来OpenClaw全国纵深行,你只需要带一台电脑……

这回真的“装”到了!来OpenClaw全国纵深行,你只需要带一台电脑……

AI Agent 的风,已经从 GitHub 吹到了线下。 过去几个月,越来越多开发者开始讨论一个问题: 当 AI 不再只是聊天,而是可以执行任务,软件会变成什么样? 在这股浪潮中,一个开源项目迅速进入开发者视野——OpenClaw,在 GitHub 上获得大量关注,相关教程、实践案例不断出现。有人用它自动整理资料,有人用它管理开发流程,还有人尝试让它执行复杂的工作流。 很多开发者第一次意识到: AI 不只是工具,它可能成为“执行者”。 不过,在技术社区之外,大多数人对 Agent 的理解仍停留在概念层面。 * AI Agent 到底是什么? * 如何在自己的电脑上运行? * 普通开发者能否真正用起来? 带着这些问题,一场围绕 OpenClaw 的开发者城市行动正在展开。 ZEEKLOG 发起的OpenClaw 全国纵深行将走进 20 个城市,用最直接的方式回答一个问题——如果

By Ne0inhk