系统架构组成部分有哪些
系统架构组成部分有六个:1.业务架构;2.应用架构;3.集成架构;4.数据架构;5.技术架构;6.部署架构。上述6项是系统设计中必不可少的部分,其中业务架构是最为重要的,因为所有的系统设计均需要满足业务需求。
1.业务架构
业务架构,是IT架构的基础,要从业务、产品视角,描述整个平台、或某个产品的实现。
业务架构是整个系统设计中最重要的架构,因为所有的系统设计都需要满足业务的需求,如果业务架构出现错误,将导致整个系统设计的失败。
业务架构是对于业务的框架性描述,一般分层展开,如运营支撑、作业执行、业务管控(监控、预警、风控)、决策分析。
业务架构中的数据,包括内部数据、外部系统数据、用户使用行为数据,共同组成一个数据流的闭环。
2.应用架构
从业务机构中来,分系统进行功能模块描述。
编写应用架构图时,往往需要站在整个平台视角,描述整个平台架构。应用架构可分为两种,一种是企业级应用架构,一种是单系统的应用架构。
3.集成架构
系统与外围交互系统之间的数据交换
4.数据架构
数据架构主要解决三个问题:名列前茅,系统需要什么样的数据;第二,如何存储这些数据(数据的存储方式);第三,如何进行数据架构设计(数据的展示方式)。
一套对存储数据的架构逻辑,它会根据各个系统应用场景、不同时间段的应用场景,对数据进行诸如数据异构、读写分离、缓存使用、分布式数据策略等划分。
5.技术架构
包括网络安全、防火墙、负载均衡、网关、服务治理、开发服务、安全服务,以及业务模块用到的技术栈。
6.部署架构
包括分区部署,如互联网DMZ区、专线DMZ区、应用区、数据区等;核心组成部分的部署,包括web服务器、应用服务器、数据库等;网络安全策略部署,包括IP和端口、数据流向等。
延伸阅读
四种常见系统架构介绍
1.单体架构
单体架构比较初级,典型的三级架构,前端(Web/手机端)+中间业务逻辑层+数据库层。这是一种典型的Java Spring mvc或者Python Django框架的应用。
单体架构的应用比较容易部署、测试,在项目的初期,单体应用可以很好地运行。然而,随着需求的不断增加,越来越多的人加入开发团队,代码库也在飞速地膨胀。慢慢地,单体应用变得越来越臃肿,可维护性、灵活性逐渐降低,维护成本越来越高。
2.中级架构
中级架构,分布式应用,中间层分布式+数据库分布式,是单体架构的并发扩展,将一个大的系统划分为多个业务模块,业务模块分别部署在不同的服务器上,各个业务模块之间通过接口进行数据交互。数据库也大量采用分布式数据库,如redis、ES、solor等。通过LVS/Nginx代理应用,将用户请求均衡的负载到不同的服务器上。
该架构相对于单体架构来说,这种架构提供了负载均衡的能力,大大提高了系统负载能力,解决了网站高并发的需求。
3.微服务架构
微服务架构,主要是中间层分解,将系统拆分成很多小应用(微服务),微服务可以部署在不同的服务器上,也可以部署在相同的服务器不同的容器上。当应用的故障不会影响到其他应用,单应用的负载也不会影响到其他应用,其代表框架有Spring cloud、Dubbo等。
4.Serverless架构
Serverless架构能够让开发者在构建应用的过程中无需关注计算资源的获取和运维,由平台来按需分配计算资源并保证应用执行的SLA(服务等级协议),按照调用次数进行计费,有效的节省应用成本。