没有设计的思想,你就不能成为一名架构师。架构师是一个能撸的了一手好代码,画的了一个漂亮的UML/原型,写的了一篇技术文档,更加能解决好项目关键技术的综合人才。架构师=前端工程师+后端程序员+系统分析师+关键技术解决+各种技术搭配+设计模式+部署调优+其他,可见架构师是多面手,在项目当中起到连接管理与项目成员的重要角色。因此,在通往大神级的架构师的道路上,你需要懂需求、设计、代码、部署、架构、服务器、运维、调优等等。
简单系统架构图
一个能担负起企业级应用的架构师,脑海里常出现的词会是这些:负载均衡、集群、分布式、高并发、高可用、易管理等等,粗略说来,应具备以下知识技能:
(1)数据层:重点在于集群方案的选择,比如MySQL集群,集群方案很多,需要选择符合业务的方案,比如多主,主备,读写分离等等,是否还需要做高可用,是用lvs,还是zookeeper,是否需要例如mycat类中间件来管理数据库或者做数据分片等等。
(2)服务层:时髦一点,选择dubbo,微服务让团队开发耦合度没有那么高,各自关心各自的模块,都以服务方式发布出去。传统一点用springmvc+restful,在我看来,对于并发不高的系统,没有必要用dubbo。缓存的选择,涉及到文件缓存、数据库缓存,可以用memcached、ehcache、redis。
(3)应用层:框架太多,ssh,ssm,jfinal等等,选择适合项目团队的框架;UI界面,h5很美观,但对于浏览器的兼容就把开发人员搞哭了,可以选择成熟的ext或者easyui,或者最近很流行的node.js
(4)网络层:多数开发人员都不用涉及,能了解下f5之类的就好。
(5)部署:是否需要用docker来部署,开源docker容器让部署轻量化,很容易就可以扩展一个节点,对于高并发、伸缩性要求高的场景可以使用。docker的出现,完全可以实现一键部署。是否需要负载均衡,可以选择硬负载(就是前面说的f5),也可以用软负载(nginx)。软负载的方案简单一点可以是apache+tomcat,需要考虑session复制,复杂一点选择lvs+haproxy。打包发布,熟练使用maven,能建立自己的maven私服,能指导项目成员使用maven打包发布。
(6)安全:大多数安全在网络层就解决了,但应用的安全不容忽视,比如需要考虑SQL注入,授权认证,这些目前框架都能解决,重点的安全问题来自框架本身,大多数应用选择框架都是开源的,如果团队没有能力修复漏洞只能等更新。
(7)其它方面:测试(自动化测试),版本管理(git or svn),大数据(奇热无比),人工智能(高大上)等等。
有人问,架构师为什么还要写代码?我认为,需要一如既往的写,但写的目标不一样,理论水平和动手能力需要同时提高。深度方面,注重的设计思想和模式;广度方面,对于前沿技术,要不懈的追求和钻研,这样才能在未来技术架构选型做出合理的决策。

猜你喜欢
联络方式:
深圳 · 龙岗 · 大运软件小镇22栋302-308
电话:400 1828 580
邮箱:szhulian@qq.com



-
【正告】有关深圳市乾坤科技网络有限公司抄袭我司网页之正告
近段时间来,我司深正互联因网站因排名较好,搜索:龙岗网站建设,更是排名第一,然我司之网页设计精美图以及全站代码而被大量抄袭,网络上出现很多与本站雷同的网页,我司深感愤怒与痛心...
-
定制网站变模板网站是谁的锅?
现在市面上模板网站建设公司盛行,大家在选择网站建设公司的时候一定要注意,多了解建站公司的实力、团队、案例、服务、制作流程、制作方式等,综合比较,就很容易看出一个网站建设公司的实力
-
jQuery,$(document).ready() 与window.onload有什么区别?
jQuery中$(document).ready()的作用类似于传统JavaScript中的window.onload方法,不过与window.onload方法还是有区别的......
-
腾讯被罚???,掀开互联网残酷一角!
让人意想不到的是,腾讯表态之后,反而引发了众怒,“罚的钱跟毛毛雨一样”、“治标不治本”、“按照这个处罚拼多多早就破产了”。这些言论背后,折射出用户饱受平台虚假营销的伤害...
-
如何避免网站设计容易出现的问题?
现在很多的大学的信息与技术化专业都开设了网站设计课程,这说明网站设计技术等已经逐步进入寻常百姓家了。各种网站制作软件也是不断地被开发出来,而这些软件的版本不同,制作的技术含量也是参差不整齐。那么,怎么做网站?今天,我们就总结了网站设计的时候容易出现的一些问题...