架构设计在整个系统的实现过程中,不是什么高级的活动。在架构、编码、运维、项目管理等等各个环节,架构说不上是最有意义的内容,在技术上也不是最困难的。顶着“架构师”的title,未必比“高级程序员”做的事情更有价值。
引用
业内观点
林士鼎(百度大数据首席架构师):架构一词虚而又虚,存在于代码的背后,似有似无。架构师这个角色,感觉上很酷很重要,在工程实践中却经常缺位,其作用在业界也褒贬不一。
老赵:“如果要实现一个“高性能”、“大并发”的网站,前端使用4层7层负载均衡,如果不用F5等商业产品可以先用Nginx等做反向代理。后台实现要对系统作划分,避免单点失败,也可以作独立优化。系统之间可以用异步消息传递来降低耦合;系统中不采用二段式提交或分布式事务,CAP原则中的“一致性”往往需要做出让步,而采用“最终一致”策略。数据存储方面可以做横向或纵向的划分,或者构建查询表。合理使用Schemaless的设计方式或如何MemcacheDB或Tokyo Cabinet等Key-Value存储方式可以带来更好的伸缩性。除此之外,系统中还需要部署Memcached集群作为缓存。静态文件可以使用Squid或Varnish作为缓存,避免所有IO都直接落到文件存储上……”其实老赵只是把大脑皮层最表面的某些“知识”给倾倒出来一些,我不知道这些内容给您感觉是什么,是不是会觉得很有“高度”。但是老赵觉得,这些东西看起来可能会“过瘾”,但是却毫无营养。其实所谓我们很多草根人士平时在谈论“系统架构”的时候,往往就是把各种产品,原理,实践进行组合拼接,其实说起来和看着市场上产品报价然后攒出一台电脑没有本质的区别。
但是架构设计确实是一个综合性的工作,你做好了还算光鲜,做的稍微不好,就会对其他的所有环节产生掣肘。你可能需要付出优秀架构几倍的金钱和几倍的工作来做后边的事情——但是大部分时候也就是几倍的金钱和工作而已,偶尔推翻重做,正如上边所说,架构设计不算什么最有意义的事情——这也是领导喜欢对架构指手画脚但却不自知的原因。
为什么会这样?我想有两个方面的原因:
第一,架构本身是一个均衡的过程,永远没有一个各方面都达到最优的方案,正如数据库的CAP原理,你要做到分布式和一致性,就别想百分百的可用性。你要可用性和分布式,就别想百分百的一致性。优秀的架构也会有问题,也会有不方面的地方,也会在某个环节付出巨大的代价。想挑刺非常容易。反过来,蹩脚的架构也有他的好处,可能避免了某个缺陷——比如让某个合作厂商更容易被换掉——,剩下的砸钱搞定就是了,我不关心这些细节。
第二,架构本身分了多个层面,比如功能架构、硬件架构、代码架构、数据架构等等。有些层面的架构是特别容易被指手画脚的(如功能架构),因为没啥门槛。反过来代码架构唧唧歪歪的人就少多了。
我们该怎么办?似乎没有什么太好的办法。只有努力推进架构的演化,尽可能的挽回。
分享到:
相关推荐
《软考系统架构设计师教程和系统架构设计师考试全程指导》是针对全国计算机技术与软件专业技术资格(水平)考试中的高级资格——系统架构设计师所编写的权威教程。这套教材结合了清华大学出版社出版的《系统架构设计...
在本资源中,我们还将探讨系统架构设计师考试中的其他重要知识点,包括架构设计模式、架构设计原则、系统架构设计师的角色和责任等。 本资源是系统架构设计师考试的重要参考资料,涵盖了系统架构设计师考试中的重要...
《软考系统架构设计师教程...这三本书的组合,为考生提供了系统性的学习资源,既有理论知识的讲解,又有实战经验的分享,有助于考生顺利通过系统架构设计师的考试,并在未来的工作中成为一名优秀的系统架构设计师。
系统架构设计师是信息技术行业中一个关键的角色,他们负责设计、规划和实施大型复杂系统的结构,以满足业务需求、性能、安全性和可扩展性等多方面的要求。在2020年的讲义中,可能会涉及以下几个主要知识点: 1. **...
系统架构设计师考试是一项旨在评估并认证个人在计算机科学和信息技术领域,特别是系统架构设计方面专业能力的考试。通过这项考试,考生需展示他们能够根据需求规格说明书,结合实际场景和技术趋势,设计出合理且具备...
《系统架构设计师教程》中的第五章,深入探讨了软件架构设计的核心概念、原则与实践,为读者提供了全面而深入的理解。 ### 一、软件架构设计的重要性 软件架构设计是软件开发过程中的关键环节,它决定了软件系统的...
系统架构设计师论文汇总...这些论文覆盖了系统架构设计的多个方面,对于提升系统架构设计师的专业素养和实践能力具有重要意义。通过深入学习和理解这些知识点,设计师可以更好地规划和构建高效、稳定、安全的信息系统。
《系统架构设计师教程-第4版》是一本深入探讨系统架构设计的专业教程,适用于准备进行系统架构设计学习或备考系统架构设计师资格认证的读者。本书全面涵盖了系统架构设计的基础理论、核心概念、最佳实践以及最新技术...
总的来说,《系统架构设计师教程》第四版是一本全面、深入的教材,它不仅涵盖了系统架构设计的基础知识,还提供了丰富的实践经验和案例分析,对于希望在这个领域提升自己的IT专业人士来说,无疑是一份宝贵的参考资料...
综上所述,《希赛第4版系统架构设计师教程》全面覆盖了系统架构设计的核心知识点,不仅为考生提供理论指导,还注重实际操作和案例分析,是一份宝贵的参考资料。通过深入学习,考生可以提升自己的系统设计能力,为...
希塞2019年系统架构设计师培训讲义是一份专注于系统架构师考试的培训资料,内容覆盖了系统架构设计的多个方面,包括企业信息化战略与实施、软件工程、软件架构设计、系统安全分析与设计、系统可靠性分析与设计、项目...
在这个过程中,系统架构设计师需要考虑性能、可扩展性、安全性、可靠性、成本效益和维护性等多个方面。 教程首先会介绍系统架构的基本概念,如架构模式、架构风格和架构视图,这些都是理解和设计系统架构的基础。...
一名合格的系统架构设计师需要掌握的关键知识包括计算机网络基础、信息系统基础、系统开发基础、软件架构设计、信息安全和系统安全等多个方面。接下来,我们将详细探讨这些知识点。 首先,计算机网络基础是系统架构...
《系统架构设计师 设计模式》是一本针对软考系统架构设计师考试的重要参考资料,它深入探讨了软件架构设计中的核心概念——设计模式。设计模式是软件工程中经过实践验证的、解决常见问题的有效方法,是软件开发人员...
通过学习《系统架构设计师教程第四版》,读者不仅能掌握系统架构设计的核心理念和技术,还能提升自己的问题解决能力和创新思维,为在IT行业中扮演更重要的角色打下坚实的基础。无论你是初入行业的新人,还是经验丰富...
《最新第四版系统架构设计师教程》是一本专为系统架构设计师量身打造的专业教程,旨在帮助读者深入理解和掌握系统架构设计的核心概念、方法和技术。在当前信息化社会中,系统架构设计已经成为软件开发过程中的关键...
《系统架构设计师讲义》是一份综合性的学习资料,旨在帮助备考系统架构设计师考试的学员进行深入学习和准备。这份讲义涵盖了考试的核心知识点,包括但不限于考试考点突破、案例分析和试题实战,旨在提高考生的实际...
系统架构设计师的论文题目汇总,适合软考高级架构师的研究与学习...上述内容为系统架构设计师在软考高级架构师考试中的重要知识点,对准备考试的考生来说,需要重点理解和掌握上述内容,并能在实际工作中运用这些知识。
【系统架构设计师】论文主要探讨了微服务架构在构建一站式互联网大数据征信平台中的应用,文章首先介绍了背景,指出传统单体架构在面对快速变化的需求和大规模用户量时的不足,以此作为采用微服务架构的理由。...
正如演讲稿中提到的,“架构=软件+资源”,这表明架构设计不仅仅是关于代码和数据结构的选择,还涉及到对硬件资源的有效利用,以及如何通过架构设计实现系统的可复用性、可扩展性和多路复用性等关键特性。...