没有合适的资源?快使用搜索试试~ 我知道了~
首页在首席架构师手里,应用架构如此设计
在首席架构师手里,应用架构如此设计
81 浏览量
更新于2023-03-03
评论
收藏 343KB PDF 举报
无架构,不系统,架构是大型系统的关键。从形上看,架构是系统的骨架,支撑和链接各个部分;从神上看,架构是系统的灵魂,深刻体现业务本质。架构可细分为业务架构、应用架构、技术架构,业务架构是战略,应用架构是战术,技术架构是装备。其中应用架构承上启下,一方面承接业务架构的落地,另一方面影响技术选型。如何针对当前需求,选择合适的应用架构,如何面向未来,保证架构平滑过渡,这个是软件开发者,特别是架构师,都需要深入思考的问题。本文基于作者在大型互联网系统的实践和思考,和大家一起探讨应用架构的选型。本文主要内容包括:.单体式.分布式.SOA架构.SOA落地方式.应用架构进化.应用架构本质.应用作为独立可部署的
资源详情
资源评论
资源推荐

在首席架构师手里,应用架构如此设计在首席架构师手里,应用架构如此设计
无架构,不系统,架构是大型系统的关键。从形上看,架构是系统的骨架,支撑和链接各个部分;从神上看,架构是系统的灵
魂,深刻体现业务本质。
架构可细分为业务架构、应用架构、技术架构,业务架构是战略,应用架构是战术,技术架构是装备。其中应用架构承上启
下,一方面承接业务架构的落地,另一方面影响技术选型。
如何针对当前需求,选择合适的应用架构,如何面向未来,保证架构平滑过渡,这个是软件开发者,特别是架构师,都需要深
入思考的问题。本文基于作者在大型互联网系统的实践和思考,和大家一起探讨应用架构的选型。
本文主要内容包括:
应用架构本质
. 单体式
. 分布式
. SOA架构
. SOA落地方式
. 应用架构进化
. 应用架构本质
. 应用作为独立可部署的单元,为系统划分了明确的边界,深刻影响系统功能组织、代码开发、部署和运维等各方面,应用架
构定义系统有哪些应用、以及应用之间如何分工和合作。
分有两种方式,一种是水平分,按照功能处理顺序划分应用,比如把系统分为web前端/中间服务/后台任务,这是面向业务深
度的划分。另一种是垂直分,按照不同的业务类型划分应用,比如进销存系统可以划分为三个独立的应用,这是面向业务广度
的划分。
应用的合反映应用之间如何协作,共同完成复杂的业务case,主要体现在应用之间的通讯机制和数据格式,通讯机制可以是
同步调用/异步消息/共享DB访问等,数据格式可以是文本/XML/JSON/二进制等。
应用的分偏向于业务,反映业务架构,应用的合偏向于技术,影响技术架构。分降低了业务复杂度,系统更有序,合增加了技
术复杂度,系统更无序。
应用架构的本质是通过系统拆分,平衡业务和技术复杂性,保证系统形散神不散。
系统采用什么样的应用架构,受业务复杂性影响,包括企业发展阶段和业务特点;同时受技术复杂性影响,包括IT技术发展阶
段和内部技术人员水平。业务复杂性(包括业务量大)必然带来技术复杂性,应用架构目标是解决业务复杂性的同时,避免技术
太复杂,确保业务架构落地。
常见的应用架构有多种,下面根据系统拆分方式,以及如何平衡业务与技术的角度进行分析,讨论各自的适用性,给企业应用
架构选型提供参考。
单体式应用
架构模型
系统只有一个应用,相应地,代码放在一个工程里管理;打包成一个应用;部署在一台机器;在一个DB里存储数据。单体式
应用的架构如下图所示:

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0