“
最近在架构师线下实战中,被问到最多的一个问题,就是要成为一个 Java 架构师得学习哪些知识,以及怎样才能做到架构师这个级别?
今天主要澄清几个关于架构师的几大误区。
架构师并不是人人都能做到的,如果你能走到这个称谓,恭喜你,你完全可以进入技术领域人才的TOP5系列。
如果你立志成为一名java架构师,也许下面的内容对你有一定的参考价值。
万地高楼平地起,第一条,基础不扎实的,想做好架构师基本没有什么希望。
大写的重点,说三遍。
基础必须掌握扎实
基础必须掌握扎实
基础必须掌握扎实
基础掌握的牢固与否,非常能说明一个人的学习能力以及思考方式,还有最重要的一个点,是否真的对技术有持之以久的兴趣,毕竟需要持久的专研学习,如果没有兴趣,根本不可能持久专研,也许做个5年就转行了。
还有一点,很多小伙伴,刚毕业或者说刚上手没多久,就觉得自己离架构师非常近了。
这里也统一澄清一下,做技术的没有个5年、8年的技术积累,你根本不可能有机会走到架构师这个称谓。在阿里有非常明确的技术定义,p6为技术主管,p7为技术专家,p8才是架构师,大部分能走到p7就算不错了,以为p7就是架构师,其实p7到p8还有很长的一段路。
阿里P6-P8的技术定义以及需要掌握的知识点,我在之前的文章里有给出详细的excel表格。
架构需要掌握的技术知识点,我在史上最全架构技能图谱里有非常详细的说明。下图已经给到了六大知识体系,我用WEB开发做例子。
熟练使用各种数据结构和算法,数组、哈希、链表、排序树…,熟练使用linux操作系统,必备,没什么好说的 。
熟悉tcp协议,创建连接三次握手和断开连接四次握手的整个过程,不了解的话,无法对高并发网络应用做优化; 熟悉http协议,尤其是http头,我发现好多工作五年以上的都弄不清session和cookie的生命周期以及它们之间的关联。
系统集群、负载均衡、反向代理、动静分离,网站静态化 。
分布式存储系统nfs,fastdfs,tfs,Hadoop了解他们的优缺点,适用场景 。
分布式缓存技术memcached,redis,提高系统性能必备,一致性hash算法 。
工具nginx必备技能超级好用,高性能,基本不会挂掉的服务器,功能多多,解决各种问题。
数据库的设计能力,mysql必备,最基础的数据库工具,免费好用,对它基本的参数优化,慢查询日志分析,主从复制的配置,至少要成为半个mysql dba。其他nosql数据库如mongodb。
还有队列中间件。如消息推送,可以先把消息写入数据库,推送放队列服务器上,由推送服务器去队列获取处理,这样就可以将消息放数据库和队列里后直接给用户反馈,推送过程则由推送服务器和队列服务器完成,好处异步处理、缓解服务器压力,解藕系统等。
更多架构内容以及知识点,也可以加入java进阶群:629511325
这些知识点,我可以这样讲,基本你都需要掌握,只是掌握的深度的问题,哪些知识点需要熟悉,哪些是精通,阿里P6-P8的excel表格我已经做了很清晰的划分,一般、熟悉、精通根据级别来划分定义。
上面这些都是纯技术的角度来看架构师,做到了也基本算合格,还有一个维度的定义,就是前瞻性,这个话题我以后会陆续补充完整。
什么样的架构师最值钱,坦率的讲,经历过淘宝早期比如五彩石项目的这些人,他们是见证过淘宝从单个系统到分布式业务场景的一批人,知道怎样配合业务,知道有哪些拆分技术的坑,知道拆后最致命的问题等等,随着时间的推移和自己的悟性,更加深知到技术配合业务的重要性,那就不得不提到架构前瞻性这个话题。
如果你对程序员、架构师、技术经理等IT人进阶比较感兴趣,可以查看优知学院官网查看干货文章。