我眼中最顶尖的架构师需要具备什么能力?
架构硬实力
这个章节,基本大家都没有什么争议性,必须是硬实力,拿得出手,能解决技术当前面临的挑战,能解决别人解决不了的问题。
从目前大家遇到的挑战来看,从架构设计要求,我稍微做个总结。
1分层的应用设计思想:SOA,事件驱动等。
SOA这块的内容,我推荐大家去看支付宝首席架构师程立的文章。这块支付宝和淘宝算是一起实践走过来的。但是,程立算是比较早而且很详尽的把支付宝的SOA之路说得非常详细。
2分布式原理:CAP,最终一致性,幂等操作等
这方面是的知识,网上比较多而且很全,也可买一本分布式系统相关的书籍了解。
大型网络应用结构
消息中间件,分布式缓存,负载均衡,集群技术,数据同步等。
上一篇也谈到了中间件,基本上现在大的互联网公司,中间件基本可以与架构组划上等好了。他们基本提供了分布式场景下的应用扩展的大部分基础设施。淘宝在这块的实力比较强,基本都已经开源出来了。常见的分布式缓存Tair,分布式小文件存储TFS,等等。我之前一篇淘宝最具挑战的的架构演变,也谈到。
3高可用,可容灾分布式系统设计能力。
例如,阿里云SLB产品使用开源软件LVS+keeplived实现4层的负载均衡。
采用淘宝的Tengine实现7层的负载均衡。所有负载均衡均采用集群部署,集群之间实时会话同步,以消除服务器单点,提升冗余,保证服务稳定。在各个地域采用多物理机房部署,实现同城容灾。
SLB在整体设计上让其可用性高达99.99%。且能够根据应用负载进行弹性扩容,在任意一台SLB故障或流量波动等情况下都能做到不中断对外服务。
大容量数据存储和检索系统设计能力:数据库分区,NoSQL,搜索引擎等。
当然,还有自动化部署、回滚机制等,以及监控系统等等。
架构师前瞻性
所谓前瞻性表面听起来还是比较空洞,什么叫前瞻性?这里我谈谈我看到或者观察到的例子,这样来观察,也许更好感受到什么叫前瞻性。
比如,这是当时支付宝程立在谈到支付宝SOA之路的场景。
“瞻前”、“顾后” ――这是我现在体会到的最大挑战。
先谈谈“瞻前”。当业务个性不明显、业务规模也不大时,架构师还是有很多容易模仿的定式与先例的。但当业务的个性与规模到达一定阶段时,一定会有一些别人从未遇到过的非常困难的问题需要你去解决。作为站在企业技术金字塔塔尖上的一群人,当过去的经验用不上,搜索引擎也不能向你提供任何有用的答案,只有独立去思考,去做出重大决定时,如果没有充分的准备,对企业对个人都是巨大的风险。这需要架构师建立未雨绸缪的意识,不断推演未来可能的变化并思索应对之策,持续而有方向地积累知识、发展能力,建立广泛的技术交流圈子,并且“顾后”。
再谈谈“顾后”。架构师的另一个重要的职责是发掘团队中的好苗子,帮助他们,使他们赶上并超越自己。无论这一点是否写入你的KPI,这样做都是必须的。站在架构师的立场看,架构必须有一个好的技术梯队一层层传递下去,才能够有效、持续地贯彻执行,如果只是架构师们冲在前面,背后空了一大片,架构永远只能停留在蓝图上。站在企业的立场看,企业真正的技术实力,不在于已经有怎样的系统或者平台,而在于是否有一个强大而有生命力的技术团队,通过快速复制架构师的技术与经验,可以帮助发展并壮大这样的团队,而企业整体技术实力的提升也促进了架构师提升。
业务产品架构
技术架构的目的是为了服务好业务,技术离开了业务,啥都不是。所以,对于好的架构师来讲,对业务的掌握以及理解,需要一个团队从早期就意识起来。
我用一个例子来举例:语言翻译能力。
将业务语言翻译为产品语言、开发语言的能力很重要。业务需求来自客户或业务部门,收集到的信息是基于业务语言描述。 业务架构师需要学会基于自己的经验知识进行分析,把业务语言转换成产品语言、开发语言。这样在跟产品、研发团队的沟通中,才能完成信息的有效、高保真传递。我早几年前接触过很多大公司的BD,基本就是干着活。能把一个用户的需求,从需求、产品、市场、功能、流程分析出一份详细的需求报告书出来,在与用户确认后,才能需求分析书转到技术部开始架构设计等后续的工作。
一般来讲,公司的很多需求业务模型,都是他们在整理。比如,公司的核心业务介绍等手册。
当然,这里还有好几个方面。比如,对行业的理解、交流沟通能力等等。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
月薪8k和月薪38K的程序员差距在哪里?
回想做开发的这八年多,获得了很多,技术能力、培训、出国、大公司的,还记得刚刚出来第一年那段时间,太多东西不懂的,都是一切听从老大的安排,敲敲代码,看看数据库,测试自己和别人的代码;这样干了一年 第二年的时候在想,自己还要这样吗? 当然是否定的,不可能的,一年的经验自己完全可以入行了,是时候该学习怎么进行需求分析,怎么设计数据库,怎么写各类文档,怎么写更好的代码? 所以说:一个人在一家公司呆久了,千万不要模式化,一直待着舒适区,因为当你一旦离开这家公司,找工作的时候就会很容易碰壁,在这里: 我建议大家一定要提前计划着去学习 ... 说到这里,也给大家推荐一个架构交流学习群:835544715,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,相信对于已经工作和遇到技术瓶颈的码友,在这个群里会有你需要的内容。 我在这里给那些想达到这个高度甚至想往架构师发展的程序员提供一份进阶路线图,主要针对1到5年及以上工作经验的Java开发人员,从广度到...
- 下一篇
软件各种系统架构图
原文: 软件各种系统架构图 https://blog.csdn.net/everythingss/article/details/78749247 该技术架构图是本人根据多年企业技术架构经验而制定,是企业技术的总架构图,希望对CTO们有所借鉴。 简单说明: 1.中间件基础运行环境是经过统一规划的以WebLogic、JBOSS为主的集群环境 2.企业集成平台是以基础业务应用为基础服务于上层平台和基础业务应用的高度集成平台 3.数据中心是企业公共数据的集中管理比如用户数据、企业编码,可以通过数据集成平台或服务集成平台分发给其他应用 项目做了不少,都没画过架构图,这次被要求画图,画的很丑,请大家看图本身包含的系统架构信息 一、架构整体图 1、核心是两库一线 1.1 接口总线 所有算法功能抽象成接口,其中大部分接口的方法都是泛型方法,是为了解决某一大类问题的 1.2代码库 代码库包含现接口总线中接口的各种实现 1.3 应用库 提供用户的界面或者提供给外部的服务 是通过容器配置调用算法库中的代码来实现的各种应用 二、应用关系图 1、应用通过配置从应用库中组装出自己的应用...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7设置SWAP分区,小内存服务器的救世主
- Hadoop3单机部署,实现最简伪集群
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题