如何提高业务系统的稳定性

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
简介: 【6月更文挑战第21天】如何提高业务系统的稳定性

可以说,业务系统是企业的门面,业务系统的稳定性,直接决定这用户对于企业的信任度。对于业务系统来说,业务系统的问题最直接影响的就是用户的体验,耗费的也是用户对于企业的信任值。那么如何提高业务系统的稳定性呢?

业务系统初始

业务系统初始时刻,企业为了可以快速上线来把握用户,往往会采用比较直接易构建的方式,比如:单点架构。单点架构是一种常见的部署架构,满足业务基本需要,通常是由一台服务器,一个单节点数据库组成。这样的架构上线操作简单,不用过多的考虑数据共享问题,上线周期短。


但是同样的,带来的劣势也很明显:

稳定性不够,单一节点故障,业务系统整个不能用;

弹性能力不够,当用户量波动时,峰值用户量可能会导致业务系统无法响应,扩容成本高;

升级不变,每次系统升级都需要停机升级,降低用户体验,且后期的服务管理不便。


随后,就出现了主从服务架构,这样在一定程度上缓解了单点架构带来的问题,但是仍然不是最优解决方案。那么这里来介绍一种云上版高可用架构。

云上高可用架构

在介绍云上高可用架构之前,我们先来看一款简版的架构图

image.png

当用户访问应用时,用户的请求会经过负载均衡ALB的转发策略,负载均衡会按照一定规则转发用户请求到具体的云服务器ECS,当其中任何一台云服务器ECS服务不可用或者宕机,负载均衡检测的服务不可用时,会自动将请求转发至其他的云服务器ECS,这样就保证了业务系统的高可用性。数据库采用的是云数据库RDS MySQL版,将能最大限度的保证企业业务数据的安全性。同时,ALB、ECS、RDS均具备跨可用区的自动备份和灾难恢复能力,这也进一步确保关键数据的稳定性和安全。


基于以上对于云上高可用架构的理解,下面我们再来看看以下的讨论。

如何降低日常业务中断的风险,比如停机发布,单机故障等?

有了以上云上高可用架构的理解之后,那么对于如何降低日常业务中断风险,就有了一个较好的解决方案。云上高可用架构本质上就是为了解决单击故障,那么采用了云上高可用架构之后,单击故障自然也就不存在了。至于停机发布,上面也说了,负载均衡ALB会时刻检测云服务器ECS的应用服务状态,因此你在操作业务系统升级时,可以直接逐个停掉对应的单点云服务器ECS进行升级操作,升级完成后重启业务系统应用后,负载均衡ALB会自动检测到服务状态从而为服务分发请求,这也就解决了停机发布的窘境。

如何提升应用服务的负载均衡能力?

对于如何提升应用服务的负载均衡能力,当业务系统量较大,可以通过自动水平扩展的方式来增加云服务器ECS提供服务,通过负载均衡ALB来均匀分发用户请求,保证每一台云服务器ECS的响应处理都在其可承受的范围内。为了保证数据库的稳定运行,也可以辅以云数据库的Serverless 弹性伸缩能力,当业务系统请求量大时,自动弹性扩展数据库服务节点;当业务量恢复正常时,则自动弹性节减数据库服务节点,从而保证业务系统的服务没有明显变化,提升用户体验。

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
运维 监控 算法
稳定性保障6步走:高可用系统大促作战指南!
年年有大促,大家对于大促稳定性保障这个词都不陌生,业务场景尽管各不相同,“套路”往往殊路同归,全链路压测、容量评估、限流、紧急预案等,来来去去总少不了那么几板斧。跳出这些“套路”,回到问题的本质,我们为什么要按照这些策略来做?除了口口相传的历史经验,我们还能做些什么?又有什么理论依据?
稳定性保障6步走:高可用系统大促作战指南!
|
消息中间件 缓存 监控
系统稳定性建设实践总结
2020年,注定是个不平凡的一年。疫情的蔓延打乱了大家既定的原有的计划,同时也催生了一些在线业务办理能力的应用诉求,作为技术同学,需要在短时间内快速支持建设系统能力并保障其运行系统稳定性。恰逢年终月份,正好梳理总结下自己的系统稳定性建设经验和思考。
系统稳定性建设实践总结
|
JSON 前端开发 JavaScript
开源表单方案 Formily 的核心设计思路
Formily 是一个数据+协议驱动的表单解决方案,它站在Reactive响应式编程巨人的肩膀上,构建出了从基础表单到低代码领域的高性能通用基础能力,同时其配套的跨框架+跨终端组件生态体系,也能让用户更高效的开发日常业务表单,尽可能的减少了重复冗余的逻辑实现。本篇内容来自白玄在第十六届D2前端技术论坛的分享,将为你介绍如何在高复杂业务场景下提高我们的表单性能与表单开发效率。
5757 1
开源表单方案 Formily 的核心设计思路
|
10月前
|
存储 人工智能 自然语言处理
Pandas数据应用:自然语言处理
本文介绍Pandas在自然语言处理(NLP)中的应用,涵盖数据准备、文本预处理、分词、去除停用词等常见任务,并通过代码示例详细解释。同时,针对常见的报错如`MemoryError`、`ValueError`和`KeyError`提供了解决方案。适合初学者逐步掌握Pandas与NLP结合的技巧。
404 20
|
SQL 监控 Go
Golang Agent 可观测性的全面升级与新特性介绍
本文将逐个介绍 Golang Agent 的新增功能。
581 109
|
缓存 运维 监控
成为工程师 - 如何提升系统稳定性(1)
成为工程师 - 如何提升系统稳定性(1)
|
容灾 Cloud Native 关系型数据库
实现MySQL异地多活场景
现代化互联网企业面临的最大威胁是意外导致的数据丢失或不可用。为应对这一挑战,企业通常采用“主从高可用”架构,但单一机房内的高可用仍存风险。真正的高可用需通过“跨机房容灾”或“异地容灾”实现。异地容灾将服务器部署在不同地域的机房中,确保一处受灾时,其他机房能迅速接管业务。更进一步的“异地多活”方案则让各节点同步处理业务流量,确保数据一致性,提高资源利用率。NineData 提供了实现这一方案的强大工具。
450 0
|
运维 监控 容灾
建设强大系统:提升高可用、可靠性和稳定性的秘诀
建设强大系统:提升高可用、可靠性和稳定性的秘诀
1770 0
|
缓存 运维 监控
|
弹性计算 容灾 网络协议
一文详解云上跨可用区容灾解决方案和异地多活能力建设最佳案例
弹性计算技术公开课——CloudOps云上运维季圆满结束了,阿里云弹性计算技术专家邓青琳在本次系列课程中带来了《云上跨可用区容灾和异地多活》主题课程,从系统容灾、主流容灾架构、ECS团队在容灾上的时间、云上容灾建设最佳实践等方面为大家进行了详细的课程分享。