开发架构是什么意思,软件开发架构
#建筑发展史
建筑不是发明的,而是不断进化的结果。
我们放下代码和技术,讨论历史的名字,梳理软件架构发展中出现过的名词和术语,从这些概念的起源分析它们是什么,它们取代了什么,为什么能在竞争中取得成功,为什么变得不可或缺,为什么会失败,在斗争中被淘汰,逐渐湮灭在历史的尘埃中。
“演进架构”是一条重要的逻辑线索,即软件行业对如何拆分业务、隔离技术复杂性的探索。从最初的不拆分,到通过越来越复杂的技术手段逐渐满足业务拆分和协同的需求,再到追求将这些复杂的技术手段隔离起来埋在基础设施中,再到未来(可能)回归到没有计算能力和拆分的云系统。
#如何阅读这本书?
它分为五个部分:演进的架构、架构师的视角、分布的基石、不变的基础设施和技术方法论。每个部分都有相对明确的主题和目标。建议阅读每一部分,以便获得更符合逻辑的阅读体验。然而,各部分的章节之间没有明显的依赖性。读者可以从他们感兴趣的任何一章开始阅读。
凤凰建筑
由于空间限制,文档中的内容太多,只能显示部分内容。感兴趣的朋友,在帮忙点赞转发后,可以通过私信【架构】获得完整版免费下载方法。
#目录
#其次,我们来看一下内容概述。
这本书是一本以“如何构建一个可靠的大规模分布式系统”为主要叙事主线的技术手册。十几年来,我一直从事大型企业级软件的架构研发,完全经历了从最早的大型单一系统到现在基于云原生基础设施的架构演进过程。希望借此机会,系统梳理相关知识,查缺补缺,融入现有知识框架。我也希望和大家分享和讨论这些知识。我相信,要对一项技术有深刻的理解,不仅要看、读、想、用,还要说、写。描述‘你认为自己已经掌握的知识’,尽量把知识讲清楚,让别人理解,释放自己的疑惑。同时,把你的意见交给别人审查,甚至质疑。在这个过程中,你还会挖掘出许多隐藏在“已知”背后的“未知”
#第一部分演进的架构
这部分只是第1章,适合所有开发人员,但特别推荐刚从单片架构转向微服务架构的开发人员。
第一部分不仅是整本书的介绍,也是后面要用到的大量名词概念的铺垫。这一部分不谈论太具体的技术,而是聚焦于软件发展史上各种主流架构的机遇、问题和新缺陷。
服务架构的发展史
服务架构的发展史
服务架构的发展史
#第二部分建筑师的观点
这部分包括第2-5章,适用于所有技术架构师、系统设计人员和开发人员,主要讨论独立于风格的架构知识。
“建筑师”这个词的外延很广,在不同的语境下有不同的含义。本书中的技术架构师具体指的是企业架构中面向技术模型的系统设计人员,也就是说讨论范围不会涉及与企业战略、业务流程的系统分析、信息战略设计等接近的内容。而是专注于技术方案设计师贴近一线的研发;d人事。本节将介绍建筑师在建筑设计中应该思考哪些问题,有哪些主流的解决方案和行业标准做法,各种解决方案的优缺点是什么,不同的解决方案会带来哪些不同的影响等等,从而达到“的目标”
架构设计”这种听起来抽象的工作具体化、具象化的目的。
> 作为后续实践的基础,第二部分的内容与具体的架构风格无关,讨论的是普适的架构技
> 术与使用技巧。无论你是否关注微服务、云原生这些概念,无论你从事架构设计还是编码开
> 发,了解这里所列的基础知识,都是有实用价值的。
通信的成本
实现原子性和持久性
全局事务
客户端模式
# 第三部分 分布式的基石
> 这部分包括第6一10章,主要面向使用分布式架构的开发人员。
> 只要选择了分布式架构,无论是SOA、微服务、服务网格或者其他架构风格,涉及与远程服务的交互时,服务的注册发现、跟踪治理、负载均衡、故障隔离、认证授权、伸缩扩展、传输通信、事务处理等一系列问题都是不可避免的。不同的架构风格,其区别是到底要在技术规范上提供统一的解决方案,由应用系统自行解决,还是在基础设施层面将这类问题隔离掉。第三部分将重点讨论这类问题的解决思路、方法和常见工具。
工作实例
工作实例
断路器工作过程时序图
追踪规范化
# 第四部分 不可变基础设施
> 这部分包括第11一15章,主要面向基础设施的运维人员、技术平台的开发人员。
> “不可变基础设施""这个概念由来已久。2012年Martin Fowler设想的“凤凰服务器[小与2013年Chad
> Fowler正式提出的“不可变基础设施[2小,都阐明了基础设施不变性带来的益处。在云原生基金会(Cloud Nat ive Comput ing
> Founxdation,CNCF)所定义的“云原生"概念中,“不可变基础设施"被提升到与微服务平级的重要程度,此时它已不再局限于方便运维、程序升级和部署的手段,而是升华为向应用代码隐藏分布式架构复杂度、让分布式架构得以成为一种可普遍推广的普适架构风格的必要前提。在云原生时代、后微服务时代,软件与硬件之间的界线已经彻底模糊,无论是基础设施的运维人员,抑或是技术平台的开发人员,都有必要深入理解基础设施不变性的目的、原理与实现途径。
封装应用:Docker
隔离与协作
韧性与弹性
通信成本
# 第五部分 技术方法论
> 这部分包括第16章,主要面向企业中重要技术的决策者。
> 本书的主体内容是务实的,偏重具体技术,而非方向理论。但在第16章会集中讨论几点与分布式、微服务、架构等相关的相对务虚的话题。
> 笔者认为,对于一个技术人员,成长的主要驱动力是实践,是在开发程序、解决问题中增长知识,再将知识归纳、总结、升华成为理论,所以笔者将本章安排到全书的末尾,也是希望大家能先去实践,再谈理论。同时,笔者也认为,对于一名研究人员或者企业中技术方向的决策者,理论与实践都不可缺少,在涉及决策的场景中,成体系的理论知识甚至比实践经验还要关键,因为执行力再强,也必须用在正确的方向上才有价值。如果你对自己的规划是有朝一日从一名技术人员发展成研究或者管理人员,补充这部分知识是必不可少的。
前提:微服务需要的条件
发展的治理
凤凰架构是架构师必读的一本书籍,同时也是架构师进阶上的成功的阶梯 。
好啦,今天的分享就到这里啦
如何获取:
感兴趣的朋友,麻烦帮忙点赞转发, 关注我后私信【架构】二字即可获取!