小麦带你学服务治理六

简介: 跟着麦弟,吃香喝辣

## 兜底/容错


兜底是可能我们经常谈论的是一种降级的方案,方案是用来实施,但是这里兜底可能更多是一种思想,更多的是一种预案,每个操作都可以犯错,我们也可以接受犯错,但是每个犯错我们都必须有一个兜底的预案,这个兜底的预案其实就是我们的容错或者说最大程度避免更大伤害的措施,实际上也是一个不断降级的过程。举个例子:



例如我们首页请求的用户个性化推荐商品的接口,发现推荐系统出错,我们不应该去扩大(直接把异常抛给用户)或保持调用接口的错误,而是应该兼容调用接口的错误,做到更加柔性化,这时候可以选择获取之前没有失败接口的缓存数据,如果没有则可以获取通用商品不用个性化推荐,如果也没有可以读取一些静态文字进行展示。


由于我们架构进行了分层,分成APP,网关,业务逻辑层,数据访问层等等,在组织结构也进行了划分,与之对应的是前端组,后端业务逻辑组,甚至有中台组等等。既然有代码和人员架构的划分层级,那么每一层都必须有这样的思想:包容下一层的错误,为上一层提供尽可能无措的服务。举个例子:



商品的美元售价假设要用商品人民币售价/汇率,这个时候错误发生在低层的数据层,上一层如果直接进行除,肯定就抛出 java.lang.ArithmeticException: / by zero,本着我们对任何一层调用服务都不可信的原则,应该对其进行容错处理,不能让异常扩散,更要保证我们这一层对上一次尽可能的作出最大努力确定的服务。

相关文章
|
7月前
|
人工智能 自然语言处理 算法
全模态模型Qwen2.5-Omni开源,7B尺寸实现全球最强性能
通义千问Qwen2.5-Omni-7B正式开源,作为首个端到端全模态大模型,支持文本、图像、音频和视频等多种输入形式,实时生成文本与自然语音合成输出。它在多模态融合任务测评中刷新纪录,性能远超同类模型。Qwen2.5-Omni采用Thinker-Talker双核架构,实现语义理解与语音生成高效协同,以小尺寸7B参数让全模态大模型广泛应用成为可能,现已在魔搭社区和Hugging Face同步开源。
全模态模型Qwen2.5-Omni开源,7B尺寸实现全球最强性能
|
8月前
|
SQL
【YashanDB知识库】YAS-04379 invalid alteration of datatype
【YashanDB知识库】YAS-04379 invalid alteration of datatype
|
Kubernetes 监控 API
【K8S系列】深入解析滚动升级
【K8S系列】深入解析滚动升级
1469 0
|
SQL 关系型数据库 MySQL
Maxwell - 增量数据同步工具(1)
Maxwell - 增量数据同步工具
[ik_max_word] not found for field
[ik_max_word] not found for field
362 0
|
运维 开发工具 C#
总结两种使用OpenCv连接海康相机播放视频画面方法
总结两种使用OpenCv连接海康相机播放视频画面方法
2685 0
|
弹性计算 Ubuntu Linux
新手也能玩转幻兽帕鲁联机服务器:Palworld/幻兽帕鲁搭建攻略全解析
随着《幻兽帕鲁》的持续火爆,越来越多的玩家希望与好友在这款游戏中共同冒险。为了实现这一愿望,搭建一个属于自己的《幻兽帕鲁》服务器成为不少玩家的首选。今天,就为大家带来一篇关于如何轻松搭建《幻兽帕鲁》服务器的完整攻略,即使你是新手小白,也能轻松上手!
132 0
|
移动开发 前端开发 JavaScript
web前端移动端课程之canvas教程系列
web前端移动端课程之canvas教程系列
182 0
PCB设计—AD20和立创EDA设计(1)创建项目
PCB设计—AD20和立创EDA设计(1)创建项目
389 0
|
数据采集 数据可视化 Go
使用Pyecharts对猫眼电影票房可视化分析
使用Pyecharts对猫眼电影票房可视化分析