Easy Retry 发布 v1.2.0 版本
分布式系统大行其道的当前,系统数据的准确性和正确性是重大的挑战,基于 CAP 理论,采用柔性事务,保障系统可用性以及数据的最终一致性成为技术共识 为了保障分布式服务的可用性,服务容错性,服务数据一致性 以及服务间掉用的网络问题。依据 "墨菲定律",增加核心流程重试, 数据核对校验成为提高系统鲁棒性常用的技术方案
特性
- 易用性 业务接入成本小。避免依赖研发人员的技术水平,保障重试的稳定性
- 灵活性 能够动态调整配置,启动 / 停止任务,以及终止运行中的重试数据
- 操作简单 分钟上手,支持 WEB 页面对重试数据 CRUD 操作。
- 数据大盘 实时管控系统重试数据
- 多样化退避策略 Cron、固定间隔、等级触发、随机时间触发
- 容器化部署 服务端支持 docker 容器部署
- 高性能调度平台 支持服务端节点动态扩容和缩容
- 多样化重试类型 支持 ONLY_LOCAL、ONLY_REMOTE、LOCAL_REMOTE 多种重试类型
- 重试数据管理 可以做到重试数据不丢失、重试数据一键回放
- 支持多样化的告警方式 邮箱、企业微信、钉钉、飞书
客户端与服务端数据交互图
#系统架构图
分布式系统重试的重要性
在分布式系统中,由于网络延迟、节点故障、消息丢失等原因,操作可能会失败。重试机制在分布式系统中显得尤为重要,以下是一些原因:
- 网络不可靠性:在分布式系统中,由于网络的不可靠性,消息可能会丢失或延迟。重试机制可以确保消息被发送和接收,从而提高系统的可靠性和消息传递的可靠性。
- 事务处理:在分布式系统中,事务可能会因为网络延迟等原因失败。重试机制可以确保事务被正确提交,从而保证数据的最终一致性。
- 节点故障:分布式系统可能会由于节点故障而导致部分或全部服务不可用。重试机制可以确保节点重新启动后,服务能够自动恢复并继续运行。
- 提高系统可用性:重试机制可以确保在发生异常情况时,系统能够尝试自动恢复,避免出现系统宕机或无响应的情况,从而提高系统的可用性和稳定性。 重试机制在分布式系统中非常重要,可以提高系统的可靠性、性能和消息传递的可靠性,同时还可以确保数据的一致性和服务的可用性。
重试的风险
- 重试放大风险:这种指数放大的效应很可怕,会加大直接整体系统的负载,最坏情况下被调用的服务流量可能放大到 r 倍,不仅不能请求成功,导致整体的负载继续升高,甚至直接打挂
- 无限重试问题:如果不设置重试次数会使得业务线程一直被重试占用,这样会导致服务的负载线程暴增直至服务宕机.
- 数据安全:基于内存重试会可能造成数据丢失风险
- 网络阻塞:重试次数过多或重试间隔时间过短,就有可能导致大量的请求同时发送,从而导致网络拥塞和负载增加。
v1.2.0 发布内容:
- bizId变更为idempotent_id【新增】
- 新增unique_id用于标识重试数据【新增】
- 新增unique_id的生成模式分别支持号段模式(美团leaf的号段模式算法)、雪花算法两种模式【新增】
- 管理系统登录页新增版本号【新增】
- 重试详情页,新增通过唯一id查询日志列表【新增】
- 修改页头页底内容【新增】
- 修复登录密码校验问题【BUG】
- 使用mapstruct 替代通过反射进行对象属性装换【更新】
- 优化部分代码【更新】
项目地址
官网: https://www.easyretry.com/
gitee:https://gitee.com/aizuda/easy-retry.git
github:https://github.com/aizuda/easy-retry.git
方便的话给项目一个 star,你的支持是我们前进的动力!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Simple Admin - Go 语言分布式后台管理系统 v1.0.4 发布
Simple Admin Tools V1.5.5 更新 修复: 优化 docker 命令, 目前适配 simple admin 修复: group name 在single api 不生效问题 优化: 合并最新代码 优化: 升级依赖 Simple Admin Backend UI V1.0.4 更新 本次为大更新,建议升级 修复: 重新优化所有组件,修复所有组件在暗黑模式下的适配 优化: 恢复夜间模式和侧边栏颜色调整 优化: 升级依赖并删除部分无用代码 修复: 升级 code editor 为最新的 codemirror 6 修复: tinymce组件部分bug 优化: 重新适配部分页面 Simple Admin Core/Job V1.0.4 更新 优化: 使用最新tool重新生成 docker及rpc文件 注意: rpc client 官方最新代码新增下划线,重新生成rpc后手动删掉旧的client即可,注意api需要修改下包路径 官方文档 (含视频教程):https://doc.ryansu.pro/zh/ 全新后台界面文档网站:https://vben.ryansu.pro...
- 下一篇
AudioGPT —— 基于 LLM 的音频助手
AudioGPT 是一个借助大语言模型 (LLM) 处理音频的工具。 AudioGPT 在收到用户请求时使用 ChatGPT 进行任务分析,根据语音基础模型中可用的功能描述选择模型,用选定的语音基础模型执行用户指令,并根据执行结果汇总响应。借助 ChatGPT 强大的语言能力和众多的语音基础模型,AudioGPT 能够完成几乎所有语音领域的任务。 具体来说,AudioGPT 运行过程可以分成 4 个阶段:模态转化、任务分析、模型分配和回复生成。 AudioGPT 核心功能 生成音乐 背景音效 音频生成字幕 文字生成音频 文字生成音频并模拟声音 根据图片生成音频 对音频进行inpaint(局部屏蔽) 根据音频和人脸照片合成视频 检测音频中的事件,以及开始和结束时间 单声道变双声道 通过文本描述检测特定声音发生的时间 抽取某种声音 去除背景噪音 多人混合声分离出单人声音 语音翻译
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2全家桶,快速入门学习开发网站教程
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS6,7,8上安装Nginx,支持https2.0的开启