架构师究竟都要学些什么?具备哪些能力呢?


Web架构师究竟都要学些什么?具备哪些能力呢?先网上查查架构师的大概的定义,参见架构师修炼之道这篇文章,写的还不错,再查查公司招聘Web架构师的要求。 总结起来大概有下面几点技能要求:

一、 架构师有优秀的编码能力,解决开发人员无法解决的难题。

二、 架构师对系统的大数据容量高性能高并发高容错的网站有架构设计和开发经验。

三、 架构师对操作系统、数据库、服务器各种软件使用的配置比较了解,比如Linux、Web负载均衡、反向代理、数据库集群、容灾等比较了解。

四、 架构师对软件开发过程有清晰明确的认识,也就是对软件工程有有明确的认识,并能把需求进行分析、建模。

五、 架构师学习能力很强、接触知识面要很宽广、喜欢关注和接触各种新的技术。

六、 架构师沟通能力很强。

七、 架构师对从事的行业的业务要有深刻的了解。

换个角度看看这些要求把:

第一条要求你是个优秀的程序员。

第二、第三条要求你要懂DBA,运维都需要懂的知识。

第四条要求你是个项目经理。

第五条要求你是个技术全才,不仅学的要深,还要学的广。

第六条、第七条要求你熟悉公司业务人员、产品人员要懂的知识。

这个要求太高了,架构师就相当于战争中的司令员的位置,是整个团队的核心和灵魂,这种技术要求甚至技术总监和CEO都不具备,唯一要求少点的就是管理能力,如果再具备管理能力,那就甚至能超过技术总监和CTO了,而中国不乏管理人才,怪不得有人总结说,中国没有合格的架构师呢,也难怪,大概算一算,这种要求相当于一个人学6个人的知识,并且都能达到专业的水平,这就意味着你的领悟能力和学习能力,要高于常人几倍!所以说,成为架构师确实需要天分啊。

再具体到.NET架构师,我归纳一下要学的知识:

成为优秀程序员,需要学好的知识:

1、 面向对象编程、UML画图、设计模式、代码重构

2、 常用ORM工具

3、 MVC,WCF,XMl, JQuery ,SQL以及性能优化

4、 FrameWork一些深入的知识

5、 高性能代码,比如静态化,MemCached等手段。

6、 最好也了解一些其他语言,比如Java,PHP等。

成为DBA,需要学好的知识:

1、 常用数据库,MSSQL、MySQL、Oracle,性能调优熟练,备份、负载均衡、集群、容灾熟练

2、 大数据量处理熟练

3、 各种数据库监控软件

成为运维,需要学好的知识:

1、 各种Web负载均衡的硬件,比如F5,软件,比如Nginx等原理和配置

2、 反向代理加速,比如SquID等

3、 操作系统,Linux是必须懂的,各种好的工具都在Linux下。

4、 各种性能监控软件。

成为产品和业务以及项目经理,需要学好的知识:

1、 沟通和理解能力。

2、 该行业和本公司的业务逻辑。

3、 软件工程的知识。

4、 质量控制、进度控制、人员组织等。

看来想成为合格的Web架构师,需要学太多东西了,只有一条路可走--持续不断的修炼和学习。

另外学习中,采用先深后广的策略是明智的选择,一门学深了,其他知识可能都会融会贯通,那样比较的学起来会很快。否则可能陷入知识的海洋里,没准淹死了。

总体的看来,Web架构,分为服务器架构和程序架构两个方面的架构,一般的Web架构师还是偏向程序架构,因此学好语言,程序架构是基础,学好了这些,做一个合格的架构师没大问题,毕竟DBA,运维的东西在公司都有专业的人在干。

所以深度还是要深入学习编程的知识、软件架构知识,有了这个基础后,Web架构师应该在大数据量、高并发、高负载、以及高容错方向再有所了解和涉及,再返过来促进我们对软件架构的思考,这种深-广-深-广的模式是我们学习的方法,只要坚持不懈努力几年,做真正合格的Web架构师是没大问题的

架构设计(6)---Web架构师究竟都要学些什么?相关推荐

  1. 软考高级系统架构设计师:Web架构设计

    软考高级系统架构设计师:Web架构设计 一.Web架构设计 二.负载均衡技术 1.应用层负载均衡 2.传输层负载均衡 三.有状态与无状态 四.数据库读写分离化 五.缓存技术 六.CDN内容分发网络 七 ...

  2. 什么是系统架构设计:关于架构演进理论

    什么是系统架构设计:关于架构演进理论 在过去软件开发过程发展的很长一段时间内,软件架构表现为一种集中式的单块(Monolithic)式,即先对系统进行分层,然后通过单个进程进行部署和维护,典型的分层体 ...

  3. 从架构演进的角度聊聊Spring Cloud都做了些什么?

    Spring Cloud作为一套微服务治理的框架,几乎考虑到了微服务治理的方方面面,之前也写过一些关于Spring Cloud文章,主要偏重各组件的使用,本次分享主要解答这两个问题:Spring Cl ...

  4. 典型数据库架构设计与实践 | 架构师之路

    转载自微信公众号[架构师之路] 本文,将介绍数据库架构设计中的一些基本概念,常见问题以及对应解决方案,为了便于读者理解,将以"用户中心"数据库为例,讲解数据库架构设计的常见玩法. ...

  5. mysql架构设计书籍推荐_最近很火的MySQL:抛开复杂的架构设计,MySQL优化思想基本都在这...

    摘要: 冲区才用缓冲区,即SQL_CACHE:sort_buffer_size:排序缓冲区.3)分库分表因为数据库压力过大,首先一个问题就是高峰期系统性能可能会降低,因为数据库负载过高对性能会有影响. ...

  6. 架构设计杂谈004——架构师

    什么是架构设师        架构师是:负责系统架构设计的人.团队或组织 架构师主要干什么 ●架构师是技术领导,领导并负责架构设计,负责做决策 ●架构师可以是团队或组织,这个时候通常会有首席架构师 ● ...

  7. 最近很火的MySQL:抛开复杂的架构设计,MySQL优化思想基本都在这

    优化一览图 优化 笔者将优化分为了两大类:软优化和硬优化.软优化一般是操作数据库即可:而硬优化则是操作服务器硬件及参数设置. 1.软优化 1)查询语句优化 首先我们可以用EXPLAIN或DESCRIB ...

  8. 【架构设计】作为架构师你应该掌握的画图技术

    1.前言 大家知道,架构的过程其实就是建模的过程,那自然离不开架构图. 那么,我们先来看几个问题. (1)什么是架构图? 架构图 = 架构 + 图,用图的形式把系统架构展示出来,配上简单的文案,不同的 ...

  9. 浅谈系统架构设计-从架构设计原理、架构设计原则、架构设计方法展开

    我们工作中一直强调要做架构设计.系分,最近前端同学在追求前端质量提升的时候,也在进行架构设计.前端系分的推广,那到底什么是架构设计和系分?该怎么做架构设计和系分?本文尝试对架构设计进行全面的介绍和分享 ...

最新文章

  1. VMware或者KVM克隆的虚拟机网卡无法启动
  2. linux下软件如何防破裂,linux下管道破裂的處理
  3. python列表换行写入_如何使用Python3中的换行符将列表写入文件
  4. 配置两个不同kerberos认证中心的集群间的互信
  5. 恒安标准人寿:念好小公司数据保护生意经
  6. 平行志愿计算机录取顺序,2020平行志愿的录取顺序你知道吗?
  7. m1芯片MacBook安装本地编译版matplotlib库
  8. javascript精雕细琢(二):++、--那点事
  9. 金蝶ERP实现产品入库及委外加工冲减生产现场虚仓毛坯数(修正版07-05-10)
  10. 移动硬盘备份linux系统盘,Ubuntu 系统备份到移动硬盘(tar) 还原到另一台电脑
  11. win10未安装任何音频输出设备解决方案-记一次电脑的睿智问题
  12. 关于移动视频直播技术,关键干货都在这里(一)采集
  13. android shape大小,Android中shape属性详解
  14. CentOS7下宽带连接
  15. Linux命令hostname -i
  16. adi翻译_ADI是什么意思_ADI的翻译_音标_读音_用法_例句_爱词霸在线词典
  17. autojs免root脚本引擎编写的QQ空间点赞脚本源码
  18. [4G5G专题-92]:流程 - 4G LTE 终端在RRC IDLE空闲状态下的小区选择与小区重选
  19. 使用hMailServer搭建邮件服务器(windows邮件服务器)
  20. 携程连接服务器失败显示0048,携程网回应:携程服务器出故障期间可访问艺龙旅行网...

热门文章

  1. STM32H7---高速缓存Cache(二)
  2. c语言数据的自动转换类型吗,c语言的自动类型转换
  3. linux安装redis插件,Linux平台安装redis及redis扩展的方法
  4. 菜鸟学习笔记:Java基础篇2(变量、运算符、流程控制语句、方法)
  5. qt android webview,qt browser 加载一个webview过程
  6. java常用设计模式七:装饰模式
  7. JDBC Statements, PreparedStatement
  8. chinaunix-索引资料
  9. 关于TagHelper的那些事情——自定义TagHelper(内嵌TagHelper)
  10. nginx cocos2dx and so on