架构不是一个职业而是一种能力,每一种架构师只不过是在不同的领域里面使用不同的技术,没有什么可对比,就好比如你问一个篮球明星和一个足球明星有什么区别一样!
一、架构师需要考虑四个问题
- 确定系统干什么不干什么,也就是说系统的边界在哪里?
- 确定架构内部的模块与模块之间的关系,以及模块与外部之间的关系是什么?
- 架构确定以后,有能力去指导开发去继续设计和演化,如果开发设计和演化出来的东西和架构不一致也是有问题的。
- 确定非功能性需求,安全性,可扩展性,可用性,可维护性。
二、Java架构方向人才
系统的技术选型和可行性评估;
你这可以理解为:你家的房子户型设置,硬件软件配置必须要有自己的经验,装修完之后总得适用,不浪费成本,偏激一点总不能到处是柜子。分布式技术框架的把控;
你这可以理解为:你家的柜子可以做出多种组合,你家的被子是放在A柜,枕头放B柜,床单放C柜,这得看你的划分用途。深入发掘和分析业务需求,重点模块的设计、方案评审与技术支持,技术难点攻坚,应用系统分布式技术的落地,撰写技术方案和系统设计,最终完成编码工作;
你这可以理解为:柜子可以用来放东西,也可以用来拼装;如果组合柜,那可以拼出一些艺术品,那就看你的空间思维了。针对产品性能和架构优化,确保系统的架构质量;
你这可以理解为:柜子如果没有按照之前图纸来规划安装摆放,你就会发现有些地方是可以改进的,及时完全参照图纸,你还是会想如何改进,这就会产生一些小想法;你可能会想如何装更多的物品,如何方便取物,如何整理方便。优秀的抽象设计能力,思路清晰,善于思考,能独立分析和解决问题及编写解决方案;
你这可以理解为:哇,你家的装修真棒,这时你的邻居,或亲威朋友想参考你的想法,你可以提供一整套安装配置方案,现在你就是专家,因为他们想利用空间,发挥你的空间想像力。需要你来指导装修,提高装修质量,减少控制装修成本等等。熟悉linux,能熟练应用shell/python等脚本语言;
扎实的Java基础知识,熟悉IO、多线程及并发技术;
熟练掌握redis、mongodb、netty、kafka等中间件;
对JVM原理有扎实的理解,对服务器端设计和编程有深入理解;
你这可以理解为:你对基建设施了如指掌,编译原理很清楚,恭喜你,你已经超过我了。算法基础扎实,熟悉常见的数据结构,熟悉常用的设计模式,深入理解分布式算法和主流分布式系统,了解主流消息队列工作原理;
你这可以理解为:排序,索引,存储,去重,平滑等一些算法有深入了解,恭喜你,你已经是数学专家级了。有丰富的分布式、高并发、高负载、高可用性系统设计经验,熟悉分布式缓存、消息等机制。
三、架构师必备技能
这里给大家总结一些Java架构师必备的技能,看看自己掌握了多少!
希望能够帮助到大家
架构师筑基
开源框架解析
高性能架构
微服务架构
团队协作开发
B2C商城项目实战
最后针对上面的高频常用技术,我总结出了各大互联网公司Java架构师涉及到的绝大部分技术点做成了文档和学习笔记文件以及架构视频资料免费分享给大家(包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术资料),希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习,也可以关注我一下以后会有更多干货分享。
资料领取方式:加入粉丝群963944895
,私信管理员即可