核心化
核心系统核心团队维护,通过提升人来提升系统的稳定性,发布垂直化,核心系统开发团队有自己的系统权限,在紧要关头可以直接进行一些干预,减少事故时间
人、单点环节要少、架构要简单其实这些都是针对核心系统而言,因为互联网业务飞速发展,如果寄希望于稳定的业务,稳定的架构来实现稳定的系统,那么你错了。业务的变更比你想象的快,比你想象的复杂,比你想象的难搞。
稳定的前提是简单:较少(稳定)的系统、较少(稳定)的业务、较少(稳定)的人员
技术上来说各个系统间的依赖会有传导性
系统的依赖只有一种:那就是直接依赖
直接依赖
A<----B
A依赖系统B的接口,如果B的接口挂了或者响应缓慢,那么会导致A系统的业务受到牵连,调用B系统接口的线程会被一指挂起。随着线程消耗殆尽,A系统也挂了。这里的根本原因是B系统的接口是一个依赖资源,称为必须不可替代资源。A系统本身的硬资源没有任何消耗。如果A系统的容错性做的比较好,比如预先认定 B资源是一个风险,那么可能只是相应的业务不能使用。那么在线程上限制线程的数量,采用队列方式堵塞、或者直接抛弃新的请求。如果做的不好,则整个A系统也会跟着挂掉
A<-----B<-----E<----硬件资源
C<-----D<-----E<----硬件资源
一种是技术错误导致的,可以是人为引发的,可以是bug引发的
一种是容量限制导致的,比如上面E资源的容量满了(硬件不能够支撑新的流量了),不能满足对B和D新的请求,导致B和D挂掉。当然因为E只是被B和D依赖,所以E的容量肯定也是被B和D消耗掉的
E依赖的硬件资源
限制流量的意义:
1。增长的流量是可以预见的,这总一般会被提前识别出来,反而风险不会非常大,一般会根据流量的增加提前调整系统的架构,比如增加新的硬件资源,调整新的架构使其支撑更多的请求。
2。不可以预见的增量。比如因为系统问题导致的流量暴增,这一类问题往往可能是数量级的增长。
扩容:
硬件扩容
软件架构优化带来的扩容
后者依赖于稳定的人员,必须对业务系统是非常之熟悉
1+1=2那么简单,而不是 i ++ ++ i那么复杂
如果核心业务复杂,那么需要能处理复杂业务的人来维护
但是核心业务量必须是在数量上是可控的,变化上是可控的,否则又会重蹈因为需求繁多,导致系统业务修改非常频繁,导致架构变化
核心系统核心人员进行统一维护
核心系统的业务增加必须是受到控制的,不能出现赶日常,赶项目的情况
稳定,人,人必须对所负责的系统非常的清楚,能非常清楚的了解当前系统的运行状况,哪些指标出现问题可能会影响稳定,哪些操作可能会影响稳定。所以需要有一个能及时反映系统稳定性指标的系统,而系统是由各个系统的人维护的
稳定性改造
状态码机制,上面提到的一些问题可以通过状态码机制很好的解决,网络远程调用,返回状态码,客户端根据状态码来进行下一步操作,而不会出现资源已经没有的情况下外部请求还是不断的在请求。这个时候可以直接返回一个忙的状态码,由调用方去了解该怎么搞。
主动保护,硬件资源在持续达到一定程度的情况下,不在接受外部请求,让系统恢复之后再接受请求。这个措施至少可以让系统能够有自我恢复的时间,而不是彻底雪崩。
提升QPS,感觉上提升QPS和稳定性相关度不大,而是一个节省成本和提升性能的工作,其实这个对稳定性也非常的明显,QPS的提升结局有两种,1。允许我们减少硬件资源,2。或者在不增加硬件的前提下提升了硬件资源的充足率,再发生故障的时候可以延长系统挂掉的时间,这个也可以帮助我们减少故障时间。不过在提升QPS的时候势必会改造一些依赖,架构等,这个时候需要注意改造本身带来的风险。充分测试,充分beta来减少事故。
减少直接依赖关系 增加异步依赖,把必须的依赖采用直接调用的方式,其他均采用异步方式。这个会增加新的http请求,理论上会额外增加硬件资源。不过这也可以明显提升系统的稳定性,直接依赖越少出概率的几率就越少。不过要小心异步依赖的资源对核心资源调用要有阀值,要确保不会因为这些不是非常重要的异步资源导致重要的核心资源调用不可用,从而导致核心应用雪崩。
定期的系统review,识别风险,这点也可以通过监控系统的一些数据来支持
监控
1.提前发现潜在的问题,持续改进问题,从而持续的提升系统的稳定性
2.在正在发生事故的时候,能及时报警,给出比较明确(或者参考)的事故原因和处理方式,减少事故的持续时间
分享到:
相关推荐
作业速度不仅仅是速度的快慢,更关乎动作的合理性、准确性和稳定性。作业速度的管理应考虑操作者的熟练度、工作方法和机器使用效率,以避免因速度过快导致的质量问题或因速度过慢造成的生产延误。管理者需要对作业...
从给定文件的信息来看,本文主要探讨了打造成功品牌的三大法宝——创造传奇、坚持与专注。下面我们将逐一解析这三个方面。 ### 一、创造传奇:领袖品牌的缔造方式 创造传奇是指通过构建独特的品牌故事来吸引消费者...
高效管理Windows服务器是确保系统稳定运行、提升IT资源利用率的关键。本文主要介绍三个实用的Windows服务器管理技巧,帮助管理员优化日常运维工作。 1. **拒绝服务器重新启动** 在Windows 2021 Server上安装补丁...
强大的公司背景能为销售团队提供坚实的后盾,科研实力确保产品的竞争力,生产实力保证了供货稳定,而企业文化与教育则有助于塑造团队精神和提升成员素质。 其次,销售的产品需要有独特的亮点,能够吸引并满足消费者...
【数仓运维三大法宝】 在IT领域,数据库管理员(DBA)的工作往往充满挑战,特别是在数据仓库运维上。为了减轻DBA的工作负担,确保业务的稳定运行...这不仅提升了DBA的工作效率,也保障了企业数据服务的质量和稳定性。
在这种大的环境背景下,多样类型的机械设备、工艺装备等性能不断提升,朝着稳定性、高效性的方向变化和发展。而在金属切削方面,相关机械产品的重要性不断得到凸显。 第三部分:方案论证 本文将对基于PLC的数控...
生产现场改善是提升企业效率和竞争力的关键环节,主要包括士气管理、品质提升、效率优化、交期保证和成本...通过综合应用这些法宝,企业能够实现生产效率的提升,产品质量的保证,交货期的缩短,进而增强市场竞争力。
【企业法宝之IP分布式呼叫中心】是现代企业提升客户服务质量和效率的重要工具,它结合了VoIP技术,打破了传统呼叫中心的局限。IP分布式呼叫中心的核心优势在于其灵活性、可扩展性和全面的功能集。 1. VoIP技术的...
在IT领域,Linux服务器因其稳定性和安全性备受青睐,但维护工作同样至关重要。本文将探讨Linux服务器维护的四大关键点:保持软件包更新、正确配置引导程序、规划分区以及应对硬件变化。 首先,保持软件包最新版本是...
在线监测系统能显著减少故障对业务的影响,提升数据中心的稳定性。 最后,周期巡检有助于预防潜在问题。定期对设备、环境、电源和空调等进行检查,记录并分析巡检数据,可以提前发现隐患,及时处理,降低严重故障...
设备是生产的基础,良好的设备管理包括预防性维护、定期检查和及时修复,确保设备的稳定运行。同时,考虑设备的自动化和智能化升级,以降低人工干预,提高生产效率。 总结来说,生产现场改善是一个系统工程,涵盖了...
Linux 作为一款开源的操作系统,具有强大的稳定性和安全性,在服务器领域占据了主导地位,并且在个人计算机和移动设备上也有广泛应用。对于计算机专业的学生来说,掌握 Linux 不仅能够为他们提供一个强大的开发平台...
通过PDCA(计划-执行-检查-行动)循环,可以系统性地分析问题、找出原因、制定改进计划,并总结经验。此外,建立质量文化、实施5S管理、明确作业标准和检验规范也是提升品质的有效手段。 三、如何提高生产效率 提高...
- 柔性交流输电系统(FACTS):利用串联补偿、动态并联补偿和动态储能技术稳定输电线路,提高电网的稳定性和输电能力。 - 高压直流技术(HVDC):适用于长距离输电和不同电网频率之间的连接,有助于提高输电效率和...
该车集成了多项创新技术,如液力机械传动与静液压传动匹配技术、三枕捣固技术、捣固稳定联合控制技术、分布式微处理计算机技术以及串行通讯技术,极大地提升了作业效率和精度。 液力机械传动与静液压传动的结合是...
标题中的“预防孩子感冒的十大法宝”是一份指导性文档,旨在帮助家长和照顾者减少儿童感冒的发生。预防感冒对于孩子的健康至关重要,因为儿童的免疫系统相对较弱,容易受到病毒和细菌的侵袭。以下是对这十大法宝的...
3. **电源管理**:主板如何处理电源输入,包括电压转换和稳定,以及如何在不同负载下保持稳定性。 4. **故障排查**:文档可能会介绍常见的主板故障现象,如无法开机、自检失败、系统不稳定等,并提供相应的检查步骤...
《针对渠道的服务——服务营销,制胜的法宝》是一份探讨服务营销在渠道管理中重要性的资料。服务营销的理念强调了在竞争激烈的市场环境中,优质的服务成为企业脱颖而出的关键。资料详细阐述了服务在战略、结构、功能...
通过采用AMD皓龙和微软Windows Server 2003的组合,伦敦证券交易所的交易速度得到了极大提升,信息处理时间从原来的30毫秒减少到2毫秒,极大地提升了交易效率。 【Infolect服务与交易机会】 伦敦证券交易所计划推出...