微服务架构下服务故障处理解决方案(上)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,182元/月
MSE Nacos/ZooKeeper 企业版试用,1600元额度,限量50份
简介: 微服务架构下服务故障处理解决方案

微服务优势之一是可缩小故障影响范围,局限在某个服务中。那一个服务出现故障该如何处理?


1 集群故障

可能整个集群都会故障,无法再对外提供服务。


1.1 故障原因

代码bug

比如OOM

突发的流量冲击,超出了系统的最大承载能力

比如秒杀,会在某个时刻瞬间涌入大量流量,超出系统承载能力


1.2 解决方案

1.2.1 限流

系统所能承载流量根据集群规模是固定的,称为系统最大容量。当真实流量超过系统最大容量,系统响应就会变慢,服务调用出现大量超时,用户就会感觉卡顿、无响应。所以,应根据系统最大容量,给系统设置阈值,超过阈值的请求会被自动丢弃,便可保证系统服务正常。

通常一个微服务系统会同时提供多个服务,每个服务在同一时刻的请求量也不同,很可能系统中某服务的请求量激增,占用系统大部分资源,导致其他服务无资源可用。

因此,要针对系统中每个服务的请求量设置阈值,超过阈值的请求也要丢弃,不至于因为一个服务影响其他服务。

可用如下指标衡量服务的请求量:


QPS

工作线程数

QPS因不同服务的响应快慢不同,所以系统能承载QPS相差大,所以一般选择工作线程数作为限流指标,给系统设置

总的最大工作线程数

单个服务的最大工作线程数

如此,无论是系统总请求量过大导致整体工作线程数量达到最大工作线程数,还是某服务的请求量超过单个服务的最大工作线程数,都会被限流。


1.2.2 降级

通过停止系统中的某些功能,保证系统整体的可用性,属一种被动防御方案,因为一般是系统已故障后所采取的一种止损操作。


如何实现

通过开关,在系统运行的内存中开辟一块区域,专门用于存储开关状态:开启还是关闭。并且需监听某端口,通过该端口可向系统下发命令以改变内存中开关状态。当开关开启时,业务的某段逻辑就不再执行,而正常情况下,开关是关闭的状态。


适用场景

新增的业务逻辑

因为新增的业务逻辑相对来说不成熟,充满风险,需加开关控制新业务逻辑是否执行

依赖的服务或资源

因依赖的服务或资源不总是可靠,最好有开关控制是否对依赖服务或资源发起调用,以保证即使依赖出现问题,也能降级避免影响


分级

一级降级,对业务影响最小的

故障时,先执行一级降级,所以一级降级也可设置成自动降级而无需人工

二级降级,对业务有一定影响

故障时,若一级降级起不了啥作用,可采取人工

三级降级,对业务较大影响

这种降级要么对重大影响金钱交易,要么严重影响用户体验


目录
相关文章
|
2月前
|
消息中间件 负载均衡 中间件
⚡ 构建真正的高性能即时通讯服务:基于 Netty 集群的架构设计与实现
本文介绍了如何基于 Netty 构建分布式即时通讯集群。随着用户量增长,单体架构面临性能瓶颈,文章对比了三种集群方案:Nginx 负载均衡、注册中心服务发现与基于 ZooKeeper 的消息路由架构。最终选择第三种方案,通过 ZooKeeper 实现服务注册发现与消息路由,并结合 RabbitMQ 支持跨服务器消息广播。文中还详细讲解了 ZooKeeper 搭建、Netty 集群改造、动态端口分配、服务注册、负载均衡及消息广播的实现,构建了一个高可用、可水平扩展的即时通讯系统。
246 0
|
4月前
|
小程序 前端开发
2025商业版拓展校园圈子论坛网络的创新解决方案:校园跑腿小程序系统架构
校园跑腿小程序系统是一款创新解决方案,旨在满足校园配送需求并拓展校友网络。跑腿员可接单配送,用户能实时跟踪订单并评价服务。系统包含用户、客服、物流、跑腿员及订单模块,功能完善。此外,小程序增设信息咨询发布、校园社区建设和活动组织等功能,助力校友互动、经验分享及感情联络,构建紧密的校友网络。
140 1
2025商业版拓展校园圈子论坛网络的创新解决方案:校园跑腿小程序系统架构
|
2月前
|
文字识别 运维 监控
架构解密|一步步打造高可用的 JOCR OCR 识别服务
本文深入解析了JOCR OCR识别服务的高可用架构设计,涵盖从用户上传、智能调度、核心识别到容错监控的完整链路,助力打造高性能、低成本的工业级OCR服务。
137 0
架构解密|一步步打造高可用的 JOCR OCR 识别服务
|
5月前
|
机器学习/深度学习 并行计算 PyTorch
英伟达新一代GPU架构(50系列显卡)PyTorch兼容性解决方案
本文记录了在RTX 5070 Ti上运行PyTorch时遇到的CUDA兼容性问题,分析其根源为预编译二进制文件不支持sm_120架构,并提出解决方案:使用PyTorch Nightly版本、更新CUDA工具包至12.8。通过清理环境并安装支持新架构的组件,成功解决兼容性问题。文章总结了深度学习环境中硬件与框架兼容性的关键策略,强调Nightly构建版本和环境一致性的重要性,为开发者提供参考。
2737 64
英伟达新一代GPU架构(50系列显卡)PyTorch兼容性解决方案
|
5月前
|
负载均衡 算法 关系型数据库
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL集群架构负载均衡故障排除与解决方案
本文深入探讨 MySQL 集群架构负载均衡的常见故障及排除方法。涵盖请求分配不均、节点无法响应、负载均衡器故障等现象,介绍多种负载均衡算法及故障排除步骤,包括检查负载均衡器状态、调整算法、诊断修复节点故障等。还阐述了预防措施与确保系统稳定性的方法,如定期监控维护、备份恢复策略、团队协作与知识管理等。为确保 MySQL 数据库系统高可用性提供全面指导。
|
6月前
|
消息中间件 人工智能 监控
文生图架构设计原来如此简单之分布式服务
想象一下,当成千上万的用户同时要求AI画图,如何公平高效地处理这些请求?文生图/图生图大模型的架构设计看似复杂,实则遵循简单而有效的原则:合理排队、分工明确、防患未然。
230 14
文生图架构设计原来如此简单之分布式服务
|
5月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
339 12
|
6月前
|
算法 前端开发 定位技术
地铁站内导航系统解决方案:技术架构与核心功能设计解析
本文旨在分享一套地铁站内导航系统技术方案,通过蓝牙Beacon技术与AI算法的结合,解决传统导航定位不准确、路径规划不合理等问题,提升乘客出行体验,同时为地铁运营商提供数据支持与增值服务。 如需获取校地铁站内智能导航系统方案文档可前往文章最下方获取,如有项目合作及技术交流欢迎私信我们哦~
382 1
|
9月前
|
运维 监控 持续交付
微服务架构解析:跨越传统架构的技术革命
微服务架构(Microservices Architecture)是一种软件架构风格,它将一个大型的单体应用拆分为多个小而独立的服务,每个服务都可以独立开发、部署和扩展。
2549 36
微服务架构解析:跨越传统架构的技术革命
|
9月前
|
存储 JavaScript 开发工具
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
本次的.HarmonyOS Next ,ArkTS语言,HarmonyOS的元服务和DevEco Studio 开发工具,为开发者提供了构建现代化、轻量化、高性能应用的便捷方式。这些技术和工具将帮助开发者更好地适应未来的智能设备和服务提供方式。
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】