系统层面的【三高】

简介: 【1月更文挑战第9天】系统层面的【三高】

前言

可以说,在个人健康问题上,如果你听到了【三高】,那么往往会很难过,【三高】代表的是身体状况的危机。而作为应用系统来说,能被称为【三高】的应用系统,才是真正意义上的牛皮应用。那么应用系统的三高是什么呢?

应用系统的【三高】就是:高性能、高可用性和高稳定性,代表的是应用系统能够长时间的稳定的超高响应耗时的处理任何请求,这就是应用系统的三高。

如何让系统长期维持理想的“三高”标准

说到如何让系统长期维持理想的三高,就像盖房子一样,需要从三高的三个方面来逐个分析。


高可用性:应用系统的高可用性,可以说是地基。作为一个应用系统,如果不能用,那还有什么意义?因此如何保证高可用性:

1.设计冗余架构:通过负载均衡、主从备份、分布式集群等方式,确保单一节点故障时服务不受影响,避免单点故障带来的系统不可用;

2.数据备份:定期做好数据备份,保证各个时间节点的数据完整性,保障系统的稳定运行;

3.定期维护:定期做好系统维护,及时发现并处理潜在问题,预防因硬件问题、网络问题、软件错误导致的宕机;

4.故障切换和恢复机制:设置好故障转移功能以及自动恢复机制,保证单点发生故障时,可以快速的响应,保证系统的正常运行;


高稳定性:应用系统的高稳定性,可以说是墙体。作为一个应用系统,如果不能保证稳定运行,任何的风吹雨打都可能导致系统不稳定,那么这样的系统往往也是无法凝聚客户的,如何保证高稳定性:

1.监控与报警:系统的稳定性可以尽可能的保证,但是必要的监测系统一样重要,通过监测系统各项指标,设定合理的阈值,一旦超出立即报警,及时处理,提高系统的稳定性;

2.系统升级:必要的系统升级是需要的,通过系统升级修复已知的安全漏洞和稳定性问题,从而保证系统稳定性;

3.数据备份与恢复:定期的进行数据备份,保证发生不可预见情况时可以快速的恢复数据,保障系统稳定;

4.最佳实践:整个系统进行过程,严格遵循开发、部署、运维的最佳实践,保证系统安全编码,可扩容,持续集成、部署等,保证系统稳定。


高性能:应用系统的高性能,可以说是屋顶,漂亮的屋顶必不可少,但是不漂亮的屋顶,可以遮风挡雨的屋顶一样也可以接受,这就是高性能。因此保证高性能,可以让你的系统显得很完美,如何保证高性能:

1.优化资源分配:实际场景中,需要根据业务的需求合理分配服务器CPU、内存、磁盘I/O等资源,减少服务器瓶颈出现的可能;

2.代码优化:除了对硬件设施资源的合理分配优化,应用程序方面也不能落下,通过不断地对应用系统代码进行性能分析和调优,提高应用系统代码的应对极端情况的逻辑处理能力,提高系统的性能;

3.引入缓存:当应用系统代码层面的优化达到最大时,可以通过引入缓存,比如Redis等缓存工具来提高数据访问速度;

4.压力测试:没有经过压力测试的系统,往往是不能保证高稳定性的,未来的数据量无法预知,因此只能最大限度的通过压力测试,提前预估系统承载极限,并提前指定好后续的扩容方案以及负载均衡方案,保证系统稳定运行。


在实际业务场景中,“三高”是真实存在的吗

个人认为,在实际业务场景中,【三高】是真实存在的,只是实际业务场景中的三高不是一个固定的标准,而是一个动态的标准,随着数据量以及请求并发量的不断提升,随着系统的不断扩容,那么对于达到三高的要求也就不断升高,因此说,实际业务场景中,达到三高是一个动态的过程,而不会是一个固定的点达到三高。或者也可以说,实际业务中,应用系统一直在为达到三高的标准动态提升中。

你会选择用“三高”来评价系统开发工作吗

从技术负责人的角度来看,要求应用系统达到【三高】标准来评价系统的开发工作,可能会有点不太现实。对于应用系统的开发阶段,应重点保证应用系统的整体架构设计以及缓存、数据库等符合三高规范,开发工作可以适当以功能为主,如果项目从一开始就奔着最终的三高去做,那么前期的投入会是一个很长的阶段,这个阶段是不会有任何回报的,这对于企业来说是不太能接受的。而如果采取阶段式提升系统性能的方式,或者说循序渐进的提升系统,这样经过长久以来数据量考验,业务系统处理考验的应用系统,往往才能更符合【三高】的标准。并且随着应用系统的不断升级迭代,最终达到的三高标准可能比一开始就定好三高标准的标准更准确,因为这是经过实践验证过的三高。

相关文章
|
缓存 负载均衡 算法
“软件系统三高问题”高并发、高性能、高可用系统设计经验
​ 总的来说解决三高问题核心就是 “分字诀” 业务分层、系统分级、服务分布、数据库分库/表、动静分离、同步拆分成异步、单线程分解成多线程、原数据缓存分离、分流等等。。。。 直观的表述就是:从前端用的CDN、动静分离,到后台服务拆分成微服务、分布式、负载均衡、缓存、池化、多线程、IO、分库表、搜索引擎等等。都是强调一个“分”字。
1779 0
“软件系统三高问题”高并发、高性能、高可用系统设计经验
|
2月前
|
供应链 安全 Java
软件架构一致性 —— 被忽视的研发成本
本文主要介绍了一些解决架构一致性问题的方法,以及我们应该如何去理解和应对部分不得不付出的成本。
|
2月前
|
缓存 监控 负载均衡
系统健康长期“三高”:实现高性能、高可用性和高稳定性的关键要素
大家想必都知道在人类健康领域,我们常常警惕“三高”带来的风险,三高是一个不健康的意思,而在数字化世界中,恰恰相反,系统的高性能、高可用性和高稳定性代表着系统的健康和卓越运行,是一个健康的概念。作为开发者怎么能让我们开发的系统保证长期“三高”,那么本文就来简单讨论一下如何让系统长期维持理想的“三高”标准,以及“三高”在实际业务场景中的真实性,并探索一下在技术负责人角色中使用“三高”来评价系统开发工作的可行性等内容,欢迎大家在评论区留言交流。
158 1
系统健康长期“三高”:实现高性能、高可用性和高稳定性的关键要素
|
10月前
|
运维 监控 容灾
建设强大系统:提升高可用、可靠性和稳定性的秘诀
建设强大系统:提升高可用、可靠性和稳定性的秘诀
|
10月前
|
消息中间件 存储 负载均衡
如何应对三高系统
如何应对三高系统
|
存储 设计模式 监控
浅谈系统实现层面稳定性保障
浅谈系统实现层面稳定性保障
浅谈系统实现层面稳定性保障
|
SQL 前端开发 数据库
网站架构的逐步优化演变
网站架构的逐步优化演变
1121 0
|
监控 安全 API
云计算对应用程序和架构设计的安全影响
应用安全包含了一个非常复杂和庞大的知识体系:从早期设计和威胁建模去维护 和防护生产应用程序。随着应用程序开发实践的不断进步和采用新的流程、模式和技术,应用安全也在以难以置信的速度发展。云计算是这些进步的最大驱动因素之一, 它会产生相应的压力,使应用安全的状态发生变化,以确保这种进展尽可能安全地继续下去。本篇文章旨为希望在云计算环境中安全的构建和部署应用程序,特别是 PaaS 和 IaaS 的软件开发团队而提出的有助于减少常见安全问题若干建议
886 0
|
存储 消息中间件 缓存
|
网络协议 Java 测试技术