没有设计的思想,你就不能成为一名架构师。架构师是一个能撸的了一手好代码,画的了一个漂亮的UML/原型,写的了一篇技术文档,更加能解决好项目关键技术的综合人才。架构师=前端工程师+后端程序员+系统分析师+关键技术解决+各类技术搭配+设计模式+部署调优+其余,可见架构师是多面手,在项目当中起到链接管理与项目成员的重要角色。所以,在通往大神级的架构师的道路上,你须要懂需求、设计、代码、部署、架构、服务器、运维、调优等等。前端
(1)数据层:重点在于集群方案的选择,好比MySQL集群,集群方案不少,须要选择符合业务的方案,好比多主,主备,读写分离等等,是否还须要作高可用,是用lvs,仍是zookeeper,是否须要例如mycat类中间件来管理数据库或者作数据分片等等。java
(2)服务层:时髦一点,选择dubbo,微服务让团队开发耦合度没有那么高,各自关心各自的模块,都以服务方式发布出去。传统一点用springmvc+restful,在我看来,对于并发不高的系统,没有必要用dubbo。缓存的选择,涉及到文件缓存、数据库缓存,能够用memcached、ehcache、redis。node
(3)应用层:框架太多,ssh,ssm,jfinal等等,选择适合项目团队的框架;UI界面,h5很美观,但对于浏览器的兼容就把开发人员搞哭了,能够选择成熟的ext或者easyui,或者最近很流行的node.jsnginx
(4)网络层:多数开发人员都不用涉及,能了解下f5之类的就好。git
(5)部署:是否须要用docker来部署,开源docker容器让部署轻量化,很容易就能够扩展一个节点,对于高并发、伸缩性要求高的场景可使用。docker的出现,彻底能够实现一键部署。是否须要负载均衡,能够选择硬负载(就是前面说的f5),也能够用软负载(nginx)。软负载的方案简单一点能够是apache+tomcat,须要考虑session复制,复杂一点选择lvs+haproxy。打包发布,熟练使用maven,能创建本身的maven私服,能指导项目成员使用maven打包发布。程序员
(6)安全:大多数安全在网络层就解决了,但应用的安全不容忽视,好比须要考虑SQL注入,受权认证,这些目前框架都能解决,重点的安全问题来自框架自己,大多数应用选择框架都是开源的,若是团队没有能力修复漏洞只能等更新。面试
(7)其它方面:测试(自动化测试),版本管理(git or svn),大数据(奇热无比),人工智能(高大上)等等。redis
有人问,架构师为何还要写代码?我认为,须要一如既往的写,但写的目标不同,理论水平和动手能力须要同时提升。深度方面,注重的设计思想和模式;广度方面,对于前沿技术,要不懈的追求和钻研,这样才能在将来技术架构选型作出合理的决策。spring
感兴趣能够加Java架构师群获取Java工程化、高性能及分布式、高性能、深刻浅出。高架构。性能调优、Spring,MyBatis,Netty源码分析和大数据等多个知识点高级进阶干货的直播免费学习权限 都是大牛带飞 让你少走不少的弯路的 群..号是:855801563 对了 小白勿进 最好是有开发经验docker
注:加群要求
一、具备工做经验的,面对目前流行的技术不知从何下手,须要突破技术瓶颈的能够加。
二、在公司待久了,过得很安逸,但跳槽时面试碰壁。须要在短期内进修、跳槽拿高薪的能够加。
三、若是没有工做经验,但基础很是扎实,对java工做机制,经常使用设计思想,经常使用java开发框架掌握熟练的,能够加。
四、以为本身很牛B,通常需求都能搞定。可是所学的知识点没有系统化,很难在技术领域继续突破的能够加。
5.阿里Java高级大牛直播讲解知识点,分享知识,多年工做经验的梳理和总结,带着你们全面、科学地创建本身的技术体系和技术认知!