首页 > 其他分享 >架构漫谈读后感

架构漫谈读后感

时间:2023-02-17 23:13:13浏览次数:30  
标签:读后感 服务 可扩展性 漫谈 用户 一个 软件架构 模块 架构

这些博客是讲软件架构的,也是讲软件架构师的。他把软件开发比喻为盖房子,他提出了一个重要的理念:高质量、可复用。
关于高质量,我们都知道软件开发需要以工程的方式进行,这就要求软件架构师要有足够丰富的工程经验去设计每一个层次的体系结构。虽然我自己没有从事过工程工作,但是我看过很多在一些大公司工作过的人的经历与看法。比如微软公司、 IBM、 Oracle、 Sybase等都是世界上最大的工程数据库,同时也是世界上最大的数据库管理系统。他们这些公司都拥有庞大而又复杂的架构体系,在那个时代没有一个人可以把它们全部理解透,更别说做到自如地使用了。但是现在随着互联网和移动互联网时代的来临,我们不需要那么多复杂无比却又庞大无比系统了。因此我觉得我们在设计开发软件时就应该以高质量为目标,这样才能保证软件系统运行稳定、可靠、高效且易维护。
关于可复用,我认为这是一个很大的话题了!简单来说就是一个系统在运行中不断修改以适应环境变化,通过一些数据结构和技术手段(比如:配置文件)把这些修改记录下来并整合到新版本里去。这里面还包括了可扩展性和性能优化问题。比如在开发银行这个系统时发现用户请求不断增加,那就要想办法在其中加入缓存等功能来避免用户长时间等待而造成整体性能下降!在设计时就需要考虑这些问题!
关于可扩展性方面:软件架构师要保证系统各部分之间有良好的接口关系,使模块可以进行动态扩充或缩编而不影响整个系统运行;对不同层次模块之间的接口设计也需要注意。比如:在银行这个业务里需要用户来查询账号信息等数据;然后才能去开发与其相关联的业务模块并进行扩展或缩编;最后才是整个业务模块内部实现各自功能并达到“高可用”目标!
关于性能优化:一个系统性能最重要指标就是响应时间。
一方面这会影响到客户体验(如登录界面是否足够友好)和开发人员效率(如用户数不够时可能需要不断增加新用户来获取系统资源);另一方面如果用户用得很快而软件运行缓慢则会严重影响工作效率甚至使客户流失(这在今天是很常见的问题)!
关于高可用性,我想说下自己对高可用方面感受最深的就是亚马逊了。我以前看到过一本书叫《第五项修炼》(第五项修炼就是高可用性)这个书我还没看过,但是从名字里也能看出其重要性。目前亚马逊在全球有10个数据中心、几十个数据仓库,并且每年还在以两位数速度增长!可是它面对着“全球变暖”“地震”等诸多挑战却依旧保持着相对稳定的状态!因为它是一家全球性公司并不仅仅局限于亚洲和北美地区,而是充分考虑到了全球各地客户的需求及各种突发事件(比如中国发生地震)来制定其数据中心布局、配置、运维策略等!
读完这本书后我觉得最大启发是:面对任何挑战我们都应该保持一个积极乐观的心态并努力去解决它。正如书中提到一样:“我们所有人都生活在同一个星球上,无论你是谁都没有办法脱离地球而独立存在;每个人都会死掉,所以要更加珍惜生命!”
另外在高可用方面我还学到了另外一点,就是团队合作!团队合作的好处就在于每个人都有自己分工,而且所有人又都围绕着同一个目标在共同努力,这样做起来效率就会更高!另外在一个高可用的环境中每个人所做的工作也会更有意义!
关于微服务,刚开始学微服务的时候并不是很理解。现在自己越来越觉得它是一个非常好的思想。微服务它强调通过服务化手段将单体应用中存在的多个部分独立开来并将其整合成一个大服务!这样做好处是:既可以降低开发成本(因为服务数量少),也可以使模块之间无缝地协作、互访;同时还能够让每个服务具有可扩展性(即一个单体应用中可以添加新服务来满足不同用户的需求)。
我想说的另一点就是微服务对程序员来说要比传统项目管理更简单;它更容易让程序员感到工作得心应手而且易于完成;此外也更有利于架构师及工程师实现其软件系统价值。
最后,我想说下这些文章内容对我最大的启发就是:“架构师需要具有丰富的工程经验并对软件架构有清晰地认识”!这点在任何一个行业都一样!我们都知道一个团队里没有技术出身(可能包括软件测试),但是他也并不一定就不懂技术!关键在于能否对软件架构有清晰而又清晰地认识,同时还能够熟练运用!
总之读完这些文章我感觉自己对架构以及如何做架构师方面有了更深地了解;同时也非常感谢作者能在这么忙的情况下写出这样好的文章!

标签:读后感,服务,可扩展性,漫谈,用户,一个,软件架构,模块,架构
From: https://www.cnblogs.com/Cra2iTeT/p/17131715.html

相关文章

  • 架构漫谈读后感
    王概凯的这些关于架构的漫谈用了不少的例子对复杂的概念进行具现,通过这些的东西使得我对架构的知识点有了更多的认识。架构是软件开发中的一个重要概念,它是一种软件系......
  • 解析大型电商网站系统架构分层设计
    DevOps人员需要了解公司的网站架构设计,如果牵涉了具体的高流量高并发的场景,那么,此时也需要提供实际的解决方案,所以了解网站的分层系统架构设计是非常有必要的。网站架构一般......
  • 5分钟了解系统架构设计(7)
    最近梳理了之前学习的架构设计相关的一些课程学习总结,将其整理成了一个大纲脑图,以每篇5分钟系列展现出来,希望对你有所帮助。高可用,是近年来IT应用系统的常见需求。本篇,我......
  • 架构漫谈阅读笔记
    这周,我读了资深架构师王概凯执笔的《架构漫谈》,让对架构一无所知的我对架构初步有了一些认识。首先,在开篇王先生就阐述什么是架构。其实每个人心中的架构都是不同理解的,没......
  • 架构漫谈读后感
    读架构漫谈有感今天,在老师的推荐下,读了架构漫谈,《架构漫谈》是由资深架构师王概凯Kevin执笔的系列专栏,专栏将会以Kevin的架构经验为基础,逐步讨论什么是架构、怎样做好......
  • 组合数学课程笔记(一):框架构建
    组合数学的严格定义是非常困难的,其设计的内容广泛,分类困难,体系性较弱。不过,我们可以把组合数学按照问题、工具、对象三种方法进行分类,例如图论,就是按照研究对象分出的内容......
  • 【大数据架构之旅】1 深入理解 CDC
    CDC=ChangeDataCapture,是一种用以掌控数据变化的软件架构(或者再通俗一点:技术思路)。具体架构/思想背后会有不同的工程实现思路,本文我们就来深入理解一下。更新历史2......
  • 计数系统架构设计(转)
    本文主要节选和总结自沈剑大佬的计数系统架构实践一次搞定|架构师之路和文章的评论,略有删改一、问题描述很多业务都有“计数”需求,以微博为例:微博首页的个人中心部分......
  • 软件架构师“从入门到入土”
    什么是架构?软件总体的结构,软件的设计图。为什么要出现架构?一个软件太大了,一个人的心力很难完全构建出来,以至于需要很长时间或者多人合作开发。一个人的话,一开始自己对......
  • 多模态学习有哪些架构?MBZUAI最新《多模态表示学习》综述,29页详述多模态表示学习的演化
    前言本文回顾了深度多模态学习方法的演变,并讨论了使主干对各种下游任务具有鲁棒性所需的预训练的类型和目标。本文转载自专知 欢迎关注公众号CV技术指南,专注于计......