欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一篇文章了解架构师的核心技能 博客分类: 架构师 架构师程序员java 

程序员文章站 2024-03-16 12:24:34
...



要想成为一名合格,甚至优秀的架构师,你至少需要懂得抓住架构师的核心技能,学会抓住架构设计的本质,这就是架构之道,比架构之术重要的多。



本文作者 陈睿 优知学院创始人



架构之道



我发现现在大家很难说清楚架构师的核心技能是什么,如何客观的来准确定义架构设计,什么样的架构师才是你学习和借鉴的方向,今天我来开启这个话题。



首先,这里我把架构师这个职位划分为如下三类:






1 技术型架构师



这一类大家接触到最多,大家的理解就是技术专家、技术大牛,解决公司的技术难题、架构设计,甚至都不需要了解业务。



2 业务型架构师



精通业务但不一定懂技术,部分公司不一定有业务架构师这个title,也许是类似BD这样的称呼,但都需要精通业务。



怎么来定义精通业务?



具有典型的行业属性特征,比如是电子商业领域的专家、在线旅游的专家、零售行业的专家、医美行业的专家...,对某一行业有非常深入的了解,熟悉该行业的特征,熟悉业务流程,以及该行业面临的挑战等。





3 技术和业务结合型架构师



技术和业务的两者的集合,同时都需要精通,这样的人往往在公司我们统称为“首席架构师”



我们工作中接触到大部分都是偏技术型的架构师,解决技术难题为主,以下我谈到的所谓“架构师”这个称谓,特指技术型架构师,技术专家。



架构师的核心技能






架构师,一般公司相关的技术选型和架构设计由其来承担和负责,工作中遇到了搞不定的技术问题,或者公司遇见的技术瓶颈,找架构师解决。



例如,10年前早期采用windows体系:windows、IIS、SQL-Sever、C# ,随着公司的发展,业务百倍、千倍的发展,流量越来越大,当流量超过一千多万时,面对性能和成本这些不可控的因素,进行了业务拆分和性能优化,但是依然解决不了问题,痛定思痛于是决定转型:将整个 windows 技术体系转向java 体系,对应的技术方案是什么,技术演变的关键点在哪里,以及在不影响业务为前提下,按照什么样的步骤来推进技术演变?



这就会涉及到架构师的核心技能,如何设计一套高可用的架构来支撑千万、亿级的访问技能:




目前我已知的几家大公司,正在经历.net到java的演变阵痛,懂得关键节点怎样演变的人在这个市场非常稀少。



再例如淘宝最早期典型LAMP结构快速上线,随着业务的发展,很早就迁移到java体系,随着业务的爆炸性发展,业务从百万级到千万级再到亿级的用户发展,在java体系下如何一步步推进的技术架构演变:淘宝发展历程最具决定性的一次技术架构演变。



再例如,随着业务的快速发展,需要更多用户设计场景:双11的挑战,秒杀系统,短期的时间涌入大量的用户都以亿级用户单位,技术怎样支撑这个业务场景,需要做哪些方面的技术储备?



再例如当公司越来越依重与技术的时候,公司不能接受1个小时的宕机,甚至1分钟也接受不了的情况,这些技术挑战将都需要架构师去解决,这就是牵涉到一套可容灾的安全可靠的架构设计。



架构设计场景






上海外滩的环球金融中心楼高492米,如果你想建造一座492米的高楼,这一定于平时我们建几楼、十几楼的打地基以及材料有完全不懂的方法,这里的地址和材质,以及对应的设计方法决定了之后你想建造楼房的高度。



同理,当你的网站需要承受千万、亿级的访问的时候,这就涉及到网站的基础设施需要怎样搭建才能支撑这样的高楼建设。



我们都说架构是演变而来的,但我想说的是不管架构怎样演变,但架构设计的本质和建筑设计的本质往往都是想通的。





作者:IT人升职加薪进阶站 优知学院 (www.youzhixueyuan.com,微信公众号:youzhixueyuan) 创始人陈睿|mikechen, 历任淘宝高级软件工程师、盛大架构师、百度研发经理、携程定制旅游CTO,分享职场、架构、CTO进阶经验和心得。



本文由 @陈睿|mikechen 原创发布于ITEYE,未经许可,禁止转载。