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

简介: 【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步走:高可用系统大促作战指南!
|
数据库
面向失败的设计-Planning for failure
这篇文章,将会介绍如何把结构化状况以及应对方式,从而得以以系统地方式沉淀积累,成为可复用的预案;最后,文章会结合阿里巴巴10年大促的实践,给出实践预案的原则性建议。
2098 0
|
消息中间件 缓存 监控
系统稳定性建设实践总结
2020年,注定是个不平凡的一年。疫情的蔓延打乱了大家既定的原有的计划,同时也催生了一些在线业务办理能力的应用诉求,作为技术同学,需要在短时间内快速支持建设系统能力并保障其运行系统稳定性。恰逢年终月份,正好梳理总结下自己的系统稳定性建设经验和思考。
系统稳定性建设实践总结
|
前端开发 数据安全/隐私保护
若依框架---权限控制角色设计
若依框架---权限控制角色设计
4509 0
|
8月前
|
前端开发 JavaScript NoSQL
如何开发一套绩效管理(KPI)系统?(附架构图+流程图+代码参考)
本文介绍了如何构建科学有效的绩效管理(KPI)系统,帮助企业提升组织效率与员工成长。内容涵盖系统架构设计、功能模块开发、业务流程落地及实操技巧,提供架构图、流程图和核心代码参考,助力快速实现企业绩效管理数字化。
|
监控 容灾 Java
系统稳定性建设三件事
本文分享了作者学习稳定性工作、构建思路、落实方案,面对问题不断反思再推进的经验总结。
系统稳定性建设三件事
|
容灾 测试技术 数据库
怎么保证后端服务稳定性,怎么做容灾
【10月更文挑战第28天】保证后端服务稳定性及做好容灾措施是一个系统工程,需要从多个方面进行考虑和实施
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
运维 Devops 应用服务中间件
DevOps实践:使用Ansible进行自动化部署
【9月更文挑战第28天】在当今快节奏的软件开发环境中,DevOps的实践已成为提升效率和可靠性的关键。本文将探讨如何利用Ansible这一强大的自动化工具来简化部署流程。通过实际示例,我们将展示如何配置Ansible playbook,实现代码的自动部署和服务器管理任务的自动化,从而帮助团队减少人为错误,加快发布周期,确保软件交付的一致性和可预测性。
|
存储 消息中间件 JSON
DDD基础教程:一文带你读懂DDD分层架构
DDD基础教程:一文带你读懂DDD分层架构