做网络架构师需要做什么(网络架构师是做什么的)

网络架构 508
今天给各位分享做网络架构师需要做什么的知识,其中也会对网络架构师是做什么的进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、网络架构师是什么工作

今天给各位分享做网络架构师需要做什么的知识,其中也会对网络架构师是做什么的进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

网络架构师是什么工作

问题一:网络架构师是做什么的? 网络架构师英文叫Internet architect。

平时的工作就是负责网络技术架构选型、并主导功能模块设计、数据结构设计、对外接口设计;负责与相关技术合作团队的技术协调;对各种前瞻技术进行预研并形成企业内部是否引入以及如何引入的建议;负责现有产品的的运营数据分析、用户反馈收集和功能优化;负责跟踪竞争对手动态、新产品调研分析;负责协调网站产品的创意、策划、改版、网站系统功能策划等工作;负责网站产品栏目、需求的分析规划和细化工作;负责项目上线后的日常运营管理,提供不同阶段栏目规划和实施状态报告;负责优化项目的用户体验,提升亲和力和易用性。

大学专业学的是计算机专业。年薪10-15万。适合有出色的组织能力和表达能力,良好的沟通技巧,能够承受工作压力,良好的沟通、协调能力和团队协作精神,逻辑分析能力强,具备快速抽象业务和分析问题的能力的人去做。

问题二:什么是网站架构师 1、 负责交友网站的整体技术设计、开发工作;

2、 协助项目经理确保产品的质量和开发;

3、 计算机信息管理及相关专业,本科以上学历,两年相关工作经验;

4、 敬业认真,有志于互联网行业发展及开创事业;

5、 能对互联网网站项目进行专业策划,表达能力、文案写作能力强。

问题三:架构师的职责是什么 软件构架师是技术主管

首先,软件构架师是技术主管,这意味着除了他要有技术上的技能外,还要有很好的领导才能。构架师的领导能力在团队中和项目质量控制中起着十分重要的作用。

在团队中,构架师是项目的技术总管,他需要有丰富的知识背景,以便作出技术上的决定。相对于构架师来说,项目经理是来管理项目的资源,时间进度和花费的。使用电影制作来做类比的话,项目经理就是制片人(他要确定工作被完成了),而构架师是导演(他需要确定工作被正确的完成)。由于他们在项目中所处的位置,构架师和项目经理是公众人物,在一个团队中,他们是整个项目所涉及的所有人员的联系枢纽。构架师应该为建立软件构架争取投资,并且要明确建立软件构架能给组织带来的价值。

构架师还要把团队组织在构架周围,并且要积极地投入到计划活动上,因为要把构架转化成为完成任务的先后顺序,这样才能及时地确定在什么位置需要什么技术。有一点需要注意,由于构架师能否成功与团队的整体水平有很大关系,所以构架师应该参与团队新成员录用的面试。

根据构架师所拥有的能力,他可以同时参与其他团队的工作。构架师需要根据具体的实例情况来做领导决定,并且在决定过程中要展现出足够的自信。一个成功的构架师是以人为导向的,并且像一个教练一样给他的团队安排工作时间。这对于小组的成员来说是有好处的,他们可以及时得到帮助。这是整个团队的一个巨大财富。

构架师还要把精力放在切实工作的交付上,他是技术方面的推进力量。构架师需要做决定(经常需要在压力下做决定),并且要保证这些决定是经过成员之间的交流的,并且确保它能够执行。

架构师可能是有一个小组来完成的

下面介绍一个人和一个角色的区别。一个人可以扮演很多角色(例如,Mary是一个开发人员,同时也是一个测试人员),同时,一个角色可以有很多的人扮演(例如,Mary和John都是测试人员)。构架师的角色需要非常广泛的技术,这就为什么构架师的角色经常是很多人同时担当。这样可以使技术知识在小组中传播开来,每一个人都把他的或者她的经验带到工作中。特别是当某种技术同时被商业部门和技术小组理解的时候,这项技术就会最大程度的传播开来。小组所作的结果,需要被平衡。 贯穿整个文章的术语构架师,是指的一个人或者整个小组的成员。

[一个小组]是一些拥有各种技术的人的 *** ,他们之间有共同需要完成的目标,并且之间相互负责任。 2

如果一个小组来担当构架师的角色,那么就需要有一个人作为这些构架师的领导,他要拥有整体的前景,并且需要调节构架师小组之间的问题。如果没有这种调节,构架师小组成员之间就会存在危险,他们可能不会建立出一个紧密地构架或者决策不会被成功的完成。

现在有一个新的概念在构架师小组中被提出:为了使成员之间达到共同的目的和目标,团队为构架师小组建立并发布了一个章程。 3

好的构架师知道自己的强项和弱点在哪里。无论构架师的角色被一个人还是一个小组担当,他们背后都有值得信赖的顾问的支持。他们可以通过和其他构架师协同工作来弥补自身在某些技术方面的不足。最好的构架通常是被一个构架师小组建立的,而不是一个人。原因很简单,一个小组的力量总要比一个人的知识丰富的多。

构架师小组的概念有一个缺陷,他们有时被团队中的其他埂认为是在象牙塔里工作,因为他们的产品经常是很有智慧的但却没有使用价值。这种误解可以从开始就把它减到最小:1)确保所有的涉众都能积极地协商,2)不断的交流构架和它的价值,3)在执行过程中要有组织策略的意......

问题四:谁能准确的告诉我架构师是什么? 架构师一般分技术架构师和业务架构师,技术架构师又分软件架构师和系统架构师(网络架构师)

软件架构师一般就是只采用什么语言开发,用什么开发框架,用什么数据库等

系统架构师就是用大型机来跑还是用多个小型机或者工作站部署程序,攻多大的带宽,用电信的网络还是网通的网络等。

业务架构师可以理解为产品架构了,譬如需要开发什么功能,功能的流程应该怎样描述,功能与功能之间应该怎么关联等。

当然,除了特别大的公司,一般的公司很少划分的这么清楚的,一般就是一个架构师包打天下。而这样的架构师往往偏向于软件架构师的方向。

问题五:软件架构师主要是做什么啊? 你既然已经工作了,我觉得你就应该多少了解一点把,一般公司也都有架构师的存在呀。

架构师主要工作算是系统分析师,制定架构,以及开发时使用框架,类似于工程里面的总设计师。

确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节、扫清主要难点的技术人员。

要求你就必须从程序员转型到架构师,可以看看一些架构师的书,其实最做的来源于你平时的积累。对技术理解很透彻。另外就是对框架特别熟悉。当然这些都必须你拥有很丰富的项目经验

问题六:架构师是主要做什么工作的,需要有哪些方面的知识 架构师首先必须具有丰富的开发经验,是个技术主管。因为他必须清楚什么是可以实现的,实现的方式有哪些,相应的难度怎么样,实现出来的系统面对需求变化的适应性等一系列指标。另外,需要对面向过程、面向对象、面向服务等设计理念有深刻的理解,可以快速的察觉出实现中的问题并提出相应的改进(重构)方案(也就是通常说的反模式)。这些都需要长期的开发实践才能真正的体会到,单从书本上很难领会到,就算当时理解了也不一定能融会到实践中去。

在技术能力上,软件架构师最重要也是最需要掌握的知识是构件通信机制方面的知识,包括进程内通信(对象访问、函数调用、数据交换、线程同步等)以及进程外(包括跨计算机)的通信(如RMI、D、Web Service)。在WEB应用大行其道的今天,开发者往往对服务器间的通信关注的比较多,而对进程内的通信较少关注。进程外跨机器通信是构建分布式应用的基石,它是架构设计中的鸟瞰视图;而进程内的通信是模块实现的骨架,它是基石的基石。如果具体到一个基于.Net企业级架构设计,首先需要的是语言级别的认识,包括.NET的CLR、继承特性、委托和事件处理等。然后是常用解决方案的认识,包括ASP.NET Web Service、.NET Remoting、企业服务组件等。总之,丰富的开发实践经验有助于避免架构师纸上谈兵式的高来高去,给代码编写人员带来实实在在的可行性。

其次,具有足够的行业业务知识和商业头脑也是很重要的。行业业务知识的足够把握可以给架构师更多的拥抱变化的能力,可以在系统设计的时候留出一些扩展的余地来适应可能来临的需求变化。有经验的设计人员可能都碰到过这样的事,一厢情愿的保留接口在需求变化中的命中率非常低。也就是说,在系统设计之初为扩展性留下来的系统接口没能在需求变化的洪流中发挥真正的作用,因为需求的变化并没有按照预想的方向进行,到最后还是不得不为变化的业务重新设计系统。这就是因为对业务知识的理解和对市场或者商业的判断没有达到一个实用的、可以为架构扩展 *** 的水平。

再次,架构设计师对人的关注必须提升到架构设计之初来纳入考虑的范围,包括沟通以及对人员素质的判断。软件过程是团队协作共同构建系统的过程,沟通能力是将整个过程中多条开发线粘合在一起的胶水。大家都应该碰到过事后说“原来是这样啊,我不知道啊”或者某个开发人员突然高声呼喊“为什么这里的数据没有了”之类的。沟通的目的就是尽量避免多条开发线的混乱,让系统构建过程可以有条理的高效进行。另外,对人的关注还表现在对团队成员的素质判断上,比如哪些开发人员对哪些技术更熟悉,或者哪些开发人员容易拖进度等。只有合理的使用人力资源,让合适的人做合适的事情才能让整个软件过程更加高效。

架构师应时刻注意新软件设计和开发方面的发展情况,并不断探索更有效的新方法、开发语言、设计模式和开发平台不断很快地升级,软件架构师需要吸收这些新技术新知识,并将它们用于软件系统开发工作中。但对新技术的探索应该在一个理性的范围内进行,不能盲目的跟风。解决方案提供商永远都希望你能使用它提供的最新技术,而且它们在推广自己的解决方案的时候往往是以自己的产品为中心,容易给人错觉。比如数据库,往往让人觉得它什么都能做,只要有了它其它什么都不重要了。但事实上并不是如此,对于小型应用可以将许多业务逻辑用script的方式放入数据库中,但很少看到大型应用采用这样的做法。对于新东西需要以一种比较的观点来判断,包括横向的比较和纵向的比较,最后得出一些性能、可移植性以及可升级等指标。另外,新入行的开发人员往往关心新技术动向而忽略了技术的历史,......

问题七:架构师 一般会是什么级别的来面试 架构师是行业中一种新兴职业,工作职责是在一个项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。架构师的主要任务不是从事具体的程序的编写,而是从事更高层次的开发构架工作。他必须对开发技术非常了解,并且需要有良好的组织管理能力。可以这样说,一个架构师工作的好坏决定了整个开发项目的成败。 一般来讲,系统架构师应该拥有以下几方面的能力: 1:具备 8 年以上行业工作经验; 2:具备 4 年以上 C/S 或 B/S 体系结构产品开发及架构和设计经验; 3:具备 3 年以上的代码编写工作经验; 4:具备丰富的大中型开发项目的总体规划、方案设计及技术队伍管理经验; 5:对相关的技术标准有深刻的认识,对工程标准规范有良好的把握; 6:对 .Net/JAVA 技术及整个解决方案有深刻的理解及熟练的应用,并且精通WebService/J2EE 架构和设计模式,并在此基础上设计产品框架; 7:具有面向对象分析、设计、开发能力(OOA、OOD、OOP),精通 UML 和 ROSE,熟练使用 Rational Rose、PowerDesigner 等工具进行设计开发; 8:精通大型数据库如 Oracle、Sql Server 等的开发; 9:对计算机系统、网络和安全、应用系统架构等有全面的认识,熟悉项目管理理论,并有实践基础; 10:在应用系统开发和项目管理上有深厚的基础,有大中型应用系统开发和实施的成功案例; 11:良好的团队意识和协作精神,有较强的内外沟通能力。

问题八:4g网络高级架构师是什么职位? 网络系统架构以行业需求为核心,提出以实训为主的教学模式,在实训项目经理的指导下利用真实的企业项目案例(电力行业网络构建项目、电信网络构建项目、校园网络建设项目、金融网络建设项目等)。以实训员工的身份融入项目实战中,加强学员的就业竞争力。

问题九:前端架构师干什么的 个人认为:

构架构架当时是网站前台页面的整体规划和构架,以及MVC设计模式,JS/Css代码的性能优化,提高代码重用性,减少代码冗余。脱离的了普通前端码工的范畴,更注重代码的优化和合理性,提高网站的相应速度。据说权威说一个网站的打开速度,前端代码优化后能提升97%。

知道他的重要性了吧!哇,仔细一看原来是08年的帖子,看来你很关注前沿技术啊,得了拿2分走人

问题十:电子商务架构师是什么 电子商务架构师在整个电子商务开发过程中都起着重要的作用,并随着开发进程的推进而其职责或关注点不断地变化,在需求阶段,架构师主要负责理解和管理非功能性系统需求,比如软件的可维护性、性能、复用性、可靠性、有效性和可测试性等等,此外,架构师还要经常审查和客户及市场人员所提出的需求,确认开发团队所提出的设计;在需求越来越明确后,架构师的关注点开始转移到组织开发团队成员和开发过程定义上;在软件设计阶段,架构师负责对整个软件体系结构、关键构件、接口和开发政策的设计;在编码阶段,架构师则成为详细设计者和代码编写者的顾问,并且经常性地要举行一些技术研讨会、技术培训班等;随着软件开始测试、集成和交付,集成和测试支持将成为软件架构师的工作重点;在软件维护开始时,软件架构师就开始为下一版本的产品是否应该增加新的功能模块进行决策。

必备条件

架构师的形成是在实践中锻炼起来的,需要相当的技术水平和多年的实际经验,而并非上了几次培训班,读了几本书就可以成功的。 显而易见,在软件开发过程中,一个优秀软件架构师的重要性是不应低估的。那么如何成为优秀的软件架构师呢?

领导能力与团队协作技能,软件架构师必须是一个得到承认的技术领导,能在关键时候对技术的选择作出及时、有效的决定。

- 具有很强的沟通能力,其时这一点好象什么角色都最好具备,软件架构师需要与各路人马经常打交道,客户、市场人员、开发人员、测试人员、项目经理、网络管理员、数据库工程师等等,而且在很多角色之间还要起沟通者的作用。在技术能力方面,软件架构师最重要也是最需求掌握的知识是构件通信机制方面的知识,比如远程过程调用、JAVARMI、CORBA、/D、各种标准的通信协议、网络服务、面对对象数据库、关系数据库等等,另外,架构师应时刻注意新软件设计和开发方面的发展情况,并不断探索更有效的新方法。开发语言、设计模式和开发平台不断很快地升级,软件架构师需要吸收这些新技术新知识,并将它们用于软件系统开发工作中。当然,行业的业务知识对软件架构师也是很重要的,有助于设计

- 出一个满足客户需求的体系结构,优秀的软件架构师常常因为要尽快获得对行业业务的理解而必须快速学习并且进行敏锐的观察。

上面的描述是枯燥乏味的,但作为一个架构师,在整个软件系统的开发过程中是乐趣无穷的,因为这个角色很具有挑战性,有时需要左右逢源八面玲珑,有时又需要果断坚定不留情面。在国内,较少软件企业拥有独立的架构师,通常一个软件高手身兼数职,既是项目经理,又是软件架构师,还是软件开发者,有时还要客串一个测试人员,这对软件的开发周期和产品质量是不利的,有时一个人的观点立场是很片面的,而且繁重的工作、沉重的压力会影响一个人的情绪,情绪会影响决策,决策影响结果,所以值得我们三思而后行。

构架师不是通过理论学习可以搞出来的,不过不学习相关知识那肯定是不行的。总结构架师自我培养过程大致如下。

1、构架师胚胎(程序员)

学习的知识是语言基础、设计基础、通信基础等,应该在大学完成,内容包括java、c、c 、uml、RUP、XML、socket通信(通信协议)――学习搭建应用系统所必须的原材料。

2、构架师萌芽(高级程序员)

学习分布式系统、组建等内容,可以在大学或第一年工作时间接触,包括分布式系统原理、ejb、corba、/ 、webservice(研究生可以研究网络计算机、高性能并发处理等内容)

3、构架师幼苗(设计师)

应该在掌握上述基础之上,结合实际项目经验,透彻领会应用设计模式,内容包括设计模式(c 版本、java版本)、ejb......

如何成为一个网络架构师

软件架构师的能力大概分为三个方面:

1、技术,这个应该没悬念,如果没有过硬的开发技术,就不要期望做架构师了;设计模式,系统模式,架构模式,系统理论,甚至变成语言,算法,操作系统,网络,数据库,都需要有扎实的掌握,

2、业务知识,也即领域知识,软件架构师实际上是把业务需求落实成开发蓝图的总设计师,如果你对业务一窍不通,空有一身技术也只能望业务兴叹。

3、沟通表达的能力,架构师需要推进自己的架构设计理念给开发团队,所以也需要这方面的能力,当然最重要的还是前两部分的能力。

java架构师主要是干什么的?

java架构师需要做六个方面的工作。

1,需求整理分析

首先,第一手的信息损失最少,架构师能够更好的把握需求;其次,分析人员在与客户交流时,往往不会深入挖掘需求,因为有很多隐藏的需求客户自己都不见得意识的到,而架构师则可以依靠敏感的软件嗅觉发现这些需求,减少以后的变数;第三,分析人员往往脱离开发团队,盲目接受客户需求,而架构师能够清楚把握现有的研发团队能做什么,不能做什么,提前预知风险,降低项目失败的机率。

2,系统分解

在收集完信息后,架构师需要将用户需求转化为软件需求,同时要补充非业务需求,如健壮性,扩展性等等。如何区分和化解用户需求与软件需求,如何有效把握用户需求与软件需求的区别,是系统分解的核心。这是最考验架构师的地方,也是只有架构师参与的工作。

3,技术选型

这一步要根据对软件需求决定项目该使用何种架构,开发模型,及依赖选项。如使用多层架构还是分布式架构,是瀑布模型还是RUP,是使用MySQL还是SQLServer,是否需要使用企业库,是否需要使用ORM。但是,架构师对项目的技术选型要提供多种不同的方案,并为每种不同方案提供详细说明文档,用来阐述每种方案的优势,劣势,可行性等内容。这些文档供项目经理或领导决策最终的技术选型。

4,系统设计

依据软件需求和技术选型,架构师需要和软件工程师一起将软件需求落实到软件详细设计说明书中。架构师负责将软件需求分解,重组织为子项目,子系统,组件和模块,以及它们之间的逻辑关系,从而形成不同的逻辑组成部分,最后还需要确定各个子系统及组件间的接口。这些都是作为进一步的团队分工的依据。同系统分解一样,系统设计是考验架构师能力的重要职责。

5,培训与指导

在软件详细设计说明书完成后,为保证项目的顺利进行,架构师需要对整个团队进行技术培训,让团队中的每个人明白自己的职责范围,该做什么,不该做什么。

在项目实施过程中,架构师需要参与到具体开发过程中,给与每个开发人员有效指导,以避免团队成员对系统设计的误解而造成项目的延误。在我看来,这点对于新手比较多的团队尤为重要。因为国内新手的一个通病是眼高手低,刚学会了一点点就认为自己什么都会;当他们拿到真正的设计时又往往不知所措,畏首畏尾。

6,保持沟通

沟通是保证项目顺利开展的有效保障。架构师要从多方面跟踪项目进度,及时与项目经理或直属领导汇报项目进展,与技术开发人员沟通遇到的问题,如果是迭代开发,还需要与用户沟通需求变更。

网络架构师是做什么的?

网络架构师英文叫Internet

architect。

平时的工作就是负责网络技术架构选型、并主导功能模块设计、数据结构设计、对外接口设计;负责与相关技术合作团队的技术协调;对各种前瞻技术进行预研并形成企业内部是否引入以及如何引入的建议;负责现有产品的的运营数据分析、用户反馈收集和功能优化;负责跟踪竞争对手动态、新产品调研分析;负责协调网站产品的创意、策划、改版、网站系统功能策划等工作;负责网站产品栏目、需求的分析、规划和细化工作;负责项目上线后的日常运营管理,提供不同阶段栏目规划和实施状态报告;负责优化项目的用户体验,提升亲和力和易用性。

大学专业学的是计算机专业。年薪10-15万。适合有出色的组织能力和表达能力,良好的沟通技巧,能够承受工作压力,良好的沟通、协调能力和团队协作精神,逻辑分析能力强,具备快速抽象业务和分析问题的能力的人去做。

架构师需要掌握哪些知识

架构师需要掌握的知识如下:

1、并发编程:JAVA内存模型(JMM)、java当中的线程通讯和消息传递、Synchronized的概念和分析、Volatile和DCL的知识、并发基础之AQS的深度分析、原子操作常用知识讲解。

2、框架和源码应用:mybatis应用和源码解析、tomcat源码解析、spring源码分析。

3、Spring微服务:Spring Cloud  、Spring Boot。

4、性能调优:mysql性能调优、java数据结构算法、JVM性能调优。

5、互联网工程:Maven、Git、Linux。

6、分布式:分布式协调框架(Zookeeper)、RPC服务框架(Dubbo)、分布式数据缓存(Redis)。

7、项目实战。

架构师的种类:

1、应用架构师。

应用架构师是行业中数量最多的架构师,主要负责公司产品的技术架构。产品架构师需要对业务有足够的理解,根据产品需求设计架构,在运营团队的协助下评估量级,并管理项目的整个生命周期。

2、中间件架构师。

中间件架构师主要负责基础框架、公共组件,通用服务的搭建。比如分布式服务框架诸如 Dubbo,HSF;比如消息队列诸如 RocketMQ,Kafka。在大型互联网公司中,往往不是把开源框架简单拿来,而是研发出符合自身业务的企业中间件。

3、基础设施架构师。

基础设施架构师负责服务器资源、网络资源、数据库等基础设施的建设;以及持续集成工具、持续部署工具的搭建。

互联网架构师必须具备的技能

架构师是公司的“金领”,有着非常高的收入,很少需要考虑生存的问题,从而有更多的精力思考关键技术问题,形成“强者愈强”的良性循环。部分优秀的开发人员在工作了一定时间后,就要开始考虑自己的未来到底向哪个方向发展。如果开发人员的沟通能力强过技术能力,在补充一定的项目管理知识后,可以向技术管理的方向转型。如果其对技术一直很感兴趣,而沟通能力也不弱,则可以试着进一步加强技术修养,以期向架构师的方向发展,最终“修成正果”。

那么,到底什么是架构师呢?所谓的架构师,应该是一个技术企业的最高技术决策者。他主要负责公司软件产品或软件项目的技术路线与技术框架的制订。好的架构师都是善良的独裁的人,具有很强的技术、良好的写作能力、良好的口头表达能力,能够在各个层次进行沟通。从开发人员到架构师的成长应该是阶梯式的,一般来讲开发人员在刚刚开始工作时只能开发简单的独立软件模块,慢慢的随着经验的增长,他开始接触一些相互之间有信息传递的模块,而后来,他会发现自己接到的开发任务已经不是一个独立的单体,这些任务由一些专门的软件部分组成,可能包含数据库,工作流引擎,消息服务等等各种功能模块,可能分布在不同的服务器上,所有的部分协同起来,完成软件功能。而这时候,体系结构的好坏将直接决定了系统的性能和可扩展性,而就在这时候,这名优秀的开发人员也开始思考架构师应该思考的问题了,或者说,他向成长为架构师的道路迈出了一大步。

什么是架构师最具价值的技能呢?就是要了解不同的知识,做一个“杂家”或者说“博学家”。当然,如果你的数据库技术非常棒,或者你在工作流引擎方面具有不可超越的专家知识,那也是很不错的。好的架构师有好多都是从专家成长过来的。但是,这不是架构师应该做的事情,架构师应该做的是了解所有的东西,既了解技术的宏观面,又了解技术的细节。真正的架构师不仅仅要了解软件,也要了解硬件,在关键的部位使用合适的硬件来取代软件,可以成倍甚至成百倍的提高整个系统的效率。下面我将会以互联网行业对的架构师的要求为例,向大家讲解作为架构师应该具备的知识。

互联网行业是当前最激动人心的行业之一,很多的创新都来自于这个行业,而每一个大型的网站如google,yahoo,myspace等都需要解决一个非常复杂的问题,就是网站的分布式向外扩展(scale out)的问题。解决这个问题,需要最优秀的架构师对业务进行剖析,利用软硬件将网站进行重构,甚至根据业务研发相应的分布式技术,解决网站复杂的分布式计算的问题。如果你想在这个行业中成为一名架构师的话,需要至少掌握网络知识,硬件,软件,网站优化等方方面面的知识:

1.网络知识

当前的软件已经绝对不是那种仅仅跑在一台单机上的孤立应用了。不仅仅是在互联网行业,任何一个行业的软件,都要求其具有网络功能。因此,网络知识是架构师必备的知识。我们所说的网络知识,不仅仅包括tcp/ip,http等互联网行业常用的软件协议,也包括网络规划,甚至更具体的说,根据网站应用所处的地理环境进行网络规划。比如人们常说:“这世界上最远的距离不是生与死的距离,而是电信到网通的距离”(笑)如果应用是建立在中国的,就要考虑电信用户和网通用户访问网站的速度应该都比较快才可以。这时候的解决方案可能有多种,比如采用cdn(content delivery network内容分发网络)使得网站的内容发布到离用户最近的服务器,又可以采用把服务器放在一些所谓的双线机房中,甚至将几种方案结合起来使用。这些都统统归到网络知识中。做为公司的架构师,要对这些知识都有所了解,才有助于在遇到问题时找到最佳答案。

2.硬件知识

了解硬件的极限,是架构师的基本功。我见过一些人,他们的眼中软件硬件都是没有极限的,需要资源就申请,系统性能下降了就买更高级的设备。然而,硬件的性能有很大一部分取决于i/o设备。而这些i/o设备依靠的都是机械物理运动,这种运动是有极限的。因此当资源访问量增大到一定的程度时,这种物理运动将成为瓶颈。比如说,在开发网站的过程中,记录访客的状态是一件很重要的事情,一般来说可以使用httpsession来记录。而httpsession的存储问题将是一个很大的挑战,尤其是多机共享session时,将httpsession存成文件并通过多机共享或网络备份的`方式来解决分布式的问题是常用的方案,然而,架构师必须考虑到这种方案是有i/o极限限制的,很难扩展到超过一定规模的大型网络。同时,架构师应该了解目前最近的硬件发展是否对软件系统会造成一定的影响,比如在多核的条件下是否对软件编程有新的要求,是否会对运行在虚拟机和非虚拟机上的程序有影响等等。

3.软件知识

软件知识所包含的范围就更加广泛了。对于互联网行业来讲,架构师要了解操作系统,数据库,应用服务器等各方面的知识。比如说,如果网站使用的操作系统是linux,就要了解这个linux版本的性能与局限性,比如说最多可以存放的单个文件为多大。有的数据库的数据是以单个文件来存放的,虽然我们很

少见到数据库中的数据多到不能再放入一条记录的情况,但是作为架构师,请时刻注意,这种可能性是有的。而且如果你有幸在一家高速成长的互联网企业中,而你所负责的应用又没有经过优化的话,可能你会很快见到这种现象。这种现象的发生可能是由于操作系统不支持大文件的原因,也可能是数据库不支持大文件。不论如何,架构师应该在这种现象发生之前就把一切都准备好。对数据库中表的拆分是架构师应该遇到的另外一个困难。一般来说增加应用服务器比较简单而增加数据库服务器则是比较复杂的问题,如果一个站点由多个数据库支持,架构师需要考虑如何在保证数据一致的情况下,让多个数据库分担压力。有些解决方案是将数据库的读写分开,使得大多数的查询sql不经过核心数据库,而只是访问数据库的副本,但事实上,这种方式也只能维护规模不大的网站。对于大型的网站来说,把业务分散到不同的数据库中,只共享必要的数据,才是合理的提高网站扩展性的解决方案。

4.其他知识

作为系统架构师,可能还需要对分布式系统,负载均衡,网络安全,数据监控等等各方面都有所了解。不仅仅是了解理论知识,也要对相关的产品和业界进展有一定的认识。比如说做负载均衡最好的产品是那种。目前最常用的备份策略是什么,有什么缺点。如何使用缓存,如何做好日志分析等等。

刚刚谈到的是架构师需要掌握的知识,然而,冰冻三尺非一日之寒。这个过程需要我们慢慢的积累。如果你已经进入到公司进行软件开发,请时刻关注你所开发软件的性能与可扩展性,而不仅仅局限在功能上,时刻想着任何一个简单的问题:我开发的模块如果放在多人并发的环境下会怎样,慢慢的就会有所心得。如果你还是一个在校学生,不要想着自己离架构师这个职位还很遥远。要知道,成为架构师的修炼之路是很长的,甚至可以说是终身的,因此早点进入学习状态,不断修炼自己。在学校期间学好离散数学,数据结构,操作系统,编译原理,体系结构,数据库原理等关键课程,并积极寻找机会到外面实习,增长自己的工作经验。如果有机会去到一些技术主导的公司中工作,就一定不要放弃这种机会,慢慢就会成长起来。最重要的,你会养成关注技术,勤于思考的好习惯。当有一天你发现自己对任何技术难题都可以一眼看到其本质,并能够将其分解为一个个可轻松解决的模块,你会由衷的感觉到知识给你带来的快乐,或许那一天,你已经是一个架构师了。

拓展:架构师必须具备的能力

1、软件架构的定义:

软件架构(Software Architecture)也称之为软件体系结构,它是一组有关如下要素的重要决策:软件系统的组织,构成系统的结构化元素,接口和它们相互协作的行为的选择,结构化元素和行为元素组合成粒度更大的子系统方式的选择,以及指导这一组织(元素及其接口、协作和组合方式)的架构风格的选择。换句话说,软件架构实际上是对系统整体结构设计的刻划,系统架构师是做全局的、整体的把握工作。架构的组成与决策是架构设计的两个基本概念。架构=蓝图+规则+解决方案。

软件架构是一个认识事物的过程:原型、发现、改进、再发现、再改进,这是软件开发的必由螺旋。

2、架构师成长路线图:

系统架构师已经不仅仅是技术精湛的技术专家,他需要与业务团队紧密合作,并且精通市场、业务与管理。从上升趋势来说,可以有三个层面的路线图:第一个层面,要关注系统思考。在这个层面,重要的不仅仅是掌握设计的知识点,而是更重视分析能力、创新思维能力的提升,需要更广阔的思路,这方面的空间相当非常大。这是第一层面的能力基础。第二个层面,要关注总结和指导,思维空间要转向群体。如何把已有的经验总结出来,并让这种智力资产真正发挥作用?成为架构师上升第二层面的能力基础。第三个层面,要提升自身的全面修养。我们必须引发自己思维方式的变革,要培养组织力、领导力、创新力以及拥有激情,这是架构师上升第三层面的能力基础。

要看到自身的弱点,思路要宽,多思考

架构师并不是一个普通的技术人员,他对设计站的角度更高,需要的知识和能力结构更复杂,他需要具有其他人所没有的思想、眼光和感知世界的方法,必须突破已有的思维模式和行为模式,突破长期束缚自己的思维瓶颈,才可能达到自己从未达到过的高度。

架构师要养成每项工作都记录并分析的好习惯,以形成更扎实的工作风格。在每个项目完成都需要进行总结。

3、架构师要保持自己的竞争力:

架构师必须关注今天的IT技术、商业模式变革以及由此引发的软件产业变革的重大趋势,勤于思考并迎接新的挑战。一个人最核心的竞争优势是学习能力。架构师作为技术层面资深的一群,为了保持竞争力需要注意以下几个问题:

(1)、保持激情:关键是信念。激情源自于信念,有了信念才会主动挑战自我,迎接挑战才会有激情,有了激情工作才会更有意思。

(2)、创新思考:在工作中多尝试一些新方法,是维持自我能力的重要手段。

(3)、逆向思维:逆向思维指的是使用与正常思路相反的思维方式去分析同一个问题,使思路多样化。逆向思维能够帮助人们冲破传统思维的束缚,克服惯性思维方式。从反方向考虑问题往往会取得出人意料的结果。

4、架构师要关注软件的新趋势:

目前传统软件危机暴露出的问题还未真正解决,新的挑战却已摆在眼前。在人们不断思考面临的挑战以及对策中,形成了一些新的趋势,包括:

(1)、软件质量以服务质量形式展现,对质量的投资可获得更高的投资回报。

(2)、软件过程扩展到用户,希望更多的用户深入参与到软件全生命周期。

(3)、功能至上远远不够,用户体验得到空前重视。

(4)、系统集成模式面临变革,软件、服务、终端、IT基础设施将形成更紧密的价值体系。

(5)、研发要更多关注非功能性需求,如安全性质量、性能、可靠性、可扩充性、可伸缩性、可用性等,从而不断提高软件的价值。知识就是力量==信息就是力量。

架构并不完全是概要设计。概要设计还是停留在图纸上,而架构必须证明这个技术路线可行,并且能够证明大多数质量风险已经得到了解决。

5、所谓设计就是解决问题的过程:

软件设计是一种思维活动,设计的魅力在于破解难题,通过直面问题的挑战,以及对相应解决方案的仔细推敲,才可能设计出真正有灵性的产品。

(1)、设计不具普遍性:软件设计很少具有普通性,不同的目标需要不同的设计来支持。

(2)、做出权衡:所谓软件设计,本质上就是在质量、成本、时间以及其它各种因素之间做出权衡。

(3)、记录设计的理由(设计文档)。多关注各种方面的架构设计。

关于做网络架构师需要做什么和网络架构师是做什么的的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

扫码二维码