聊聊通用的架构设计

前言

对新的系统进行架构的设计、对遗留系统进行架构的分析和改造,本文就架构设计这一块,聊一聊架构设计通常都包含哪些内容,并通过一些示例分享,方便大家更加直观的感受。

架构,又名软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计,通俗一点说就是“建一个子”。

一个架构是系统的基本结构,它由多个组件以及它们彼此间的关系而组成,并且在一定环境和原则下进行设计和演变。

当我们谈到架构的时候,一般是指两种类型的架构:业务架构IT架构,业务架构关注于业务侧,IT架构关注于技术侧。IT架构和技术架构必须紧密联系,通过业务架构来指导IT架构的设计,IT架构最终也必须服务于业务。本文会就业务架构和IT架构,以及IT架构中常用到的应用架构、数据架构、技术架构、基础设施架构等内容给出具体的设计方法和示例分享。

业务架构

业务架构用于定义商业策略、管理、组织和关键业务流程,它可以用来告诉业务人员我们的系统可以支持哪些业务,也可以用来指导技术人员针对这些业务设计出相应的技术方案。

业务架构包括业务规划、业务模块、业务流程,对业务进行拆分,对领域模型进行设计,最后把现实的业务抽象出来。

因此设计一个良好的业务架构不但能够减少业务人员和技术人员之间的沟通成本,还能够让业务人员大致了解到未来进行大的业务变更时需要付出的成本,在需求侧进行更加合理的规划。

如何设计

通常可以使用一套方法论(如:DDD领域驱动模型)对项目需求进行业务边界划分,总体原则是对业务进行拆分、划分出业务边界,比如做一个电商网站,你需要把商品、订单、会员、仓库、采购、支付等业务边界很清晰的划分出来,然后规划出这些业务的周边支持。另外,在设计业务架构的时候不需要考虑技术方案的实现,诸如使用什么技术栈、怎样划分微服务、如何搭建基础设施等。

示例分享

下图是一个虚构的电商平台业务架构示例,包含的主要模块有“运维基础设施”、“三方服务依赖”、“基础服务”、“核心业务”、“运营支持”和“销售平台”,其中“核心业务”是重点,需要对业务进行拆分、划分出业务边界。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值