互联网时代系统架构的5个特征网络
有经验的架构师则会清醒的认识到,这样的系统随着不断升级和持续运行,必定会出现各类各样的问题,不出问题是不可能的。架构
应用的潜在bug、业务逻辑漏洞、数据异常、网络抖动、硬件故障、人工误操做,甚至还有莫名其妙未能找到缘由只能归结为灵异事件的问题,会层出不穷,等你解决。学习
咱们须要作的是尽量监控、捕获到异常状况,经过技术手段修复多数的问题,少数不常见的或者难以自动解决的问题最终仍是要考虑经过人工方式处理。优化
咱们的目标是解决问题,经过分析,调整架构,优化逻辑,旧的问题解决后,还会有新的问题。网站
只要系统运行,就须要维护,软件工程理论中系统上线后期维护都是一个重要的阶段,此时系统是动态的,业务是连续的。生命周期
用近几年不少人用过的比喻,开着飞机修飞机,开着火车修火车,在原有的系统上作修改,并不比从头作一个系统轻松。事件
就像是CAP理论下,多数的选择是最终一致性,即经过努力,无限趋近于问题最小化,时刻准备着迎接新问题,动态平衡才是系统运行的常态。资源
用七句话总结我对架构师的定义:部署
以工程思惟全面理解业务需求产品
基于模型和基础模式抽象简化
提出恰当可行的总体解决方案
在限定资源范围完成明确目标知足业务需求且保证系统质量
在可预见的周期内具有扩展性
并在系统生命周期内持续演进
李智慧老师《大型网站技术架构 核心原理与案例分析》中的说法:
软件架构师的最大价值不在于掌握多少先进的技术,而在于具备将一个大系统切分红N个低耦合的子模块的能力,这些子模块包含横向的业务模块,也包含纵向的基础技术模块。这种能力一部分源自专业的技术和经验,还有一部分源自于架构师对业务场景的理解、对人性的把握、甚至对世界的认知。
多数状况下,架构是一种妥协,一种平衡的产物,掌握这个平衡度的,就是架构师。
咱们都知道,理想的架构是什么样的,但又必须抱残守缺,面对现实,提出可行方案。
所以,架构师是胸怀理想的现实主义者,高度在理想,落地在现实,绝对是有挑战,有难度。
架构师必需要具有的四项能力:
一、自我驱动能力:有高度专一的精神,在没要求的状况下遇到问题也斗志昂扬,死磕到底、搞定为止。
二、高效学习能力:在同等的时间里高吞吐量的获取有价值的信息,并沉淀为本身的能力,找到适合本身的学习方法,不断发现自我,造成模式,目标导向,反复强化。
三、保持良好心态
四、善于沟通协做
前三种是内功,用汽车比喻的话,自我驱动能力至关于发动机,高效学习能力则是方向盘和变速箱,良好心态就是悬挂和制动系统。
沟通协做则是外功,最终的外在体现,内功与外功二者之间就如同内因和外因,起决定做用的是内部因素。
架构师的四门课
一、多打酱油:多和人沟通交流,消息灵通,覆盖全面,知己知彼,收集问题,尽量了解全局。
二、能和稀泥:综合考虑,充分沟通,引导你们达成共识,平衡各方问题,实用导向,提出最终结局方案。
三、肯背锅:能力越大、责任越大,要有勇气担责任担风险。
四、不拉仇恨:胸怀坦荡、没有私心、正直诚实、打开天窗说亮话。