架构|吴涛:互联网产品研发流程概论(下)
本文由36氪企服点评专家团吴涛原创。
文章插图
36氪企服点评专家团——吴涛
————正文————
本文接上篇:【专家干货】互联网产品研发流程概论(上)
5、架构设计架构设计是架构师对各个子系统关系的抽象模型,用于指导大型系统的开发和运维。
架构设计主要包括三项工作:系统架构设计、软件架构设计、网络架构设计三个部分。
系统架构设计一般都会采用MVC(Model-View-Controller)模型,将业务逻辑模型、软件界面、控制器逻辑层进行分层处理,然后通过控制器逻辑层确保业务逻辑层和软件界面层的同步。MVC模型的好处是在优化界面及用户交互的同时,无需重新编写业务逻辑。同时也有助于管理复杂的应用程序,可以在不依赖业务逻辑的情况下专注于视图设计,不同开发人员可以同时开发界面、控制器逻辑和业务逻辑,同时也让测试变得更加容易。
(1)系统架构设计如果整个系统研发是从零开始的,架构设计则需要从概况图开始梳理,然后再补充各个模块的架构图。这部分一般由首席架构师牵头,属于整个产品技术架构的总纲。
文章插图
支付宝平台系统架构概况图
一般而言,子系统名称都会与产品概念保持一致。子系统不论是应用前台还是后台,通过公共服务层、业务逻辑层、基础业务逻辑层关联到一起。这种对象化的架构设计方法,会让整个团队使用同一种语言在沟通, 相互理解起来更容易,有利于提高协作效率 。
文章插图
支付宝财会系统架构图
(2)软件架构设计软件架构设计一般采用分层架构设计模型。
软件首先分为两个大层次:前端和后台。前端应用负责提供与用户交互的软件,分成Web应用,PC客户端应用、移动APP应用等场景;后台负责实现所有业务相关的操作和服务,分成接口层、业务逻辑层、基础逻辑层。
软件架构设计时,需要主要做到以下几点:支持模块化、高内聚、低耦合、可伸缩性,同时也要防止过度设计。已上线软件如果要新增某个功能,则需要针对该功能进行软件架构设计,并最终形成软件架构设计图。
文章插图
腾讯视频邮件推荐功能软件架构设计图
然后针对这个软件架构图进行细化,先明确系统涉及的所有基础逻辑层模块(对象),以及该模块的输入和输出项,并明确模块内部的基本处理逻辑。这些模块有的有可能已经存在,则无需再开发,单独标注出来即可;还没有开发的模块,则可以交给软件项目经理指派给工程师开发。
文章插图
所有基础逻辑层模块
然后明确界面上可以直接调用的各个业务逻辑层模块(对象)名称,以及对应接口、属性、方法。
文章插图
所有基础逻辑层模块
对于还未开发的接口,如果涉及到数据调用,则需要梳理相关的数据结构,并确定算法。
文章插图
所有基础逻辑层模块
上面介绍的只是最基础的软件架构设计流程,为了保证软件的柔性可用,经常还会RPC服务组件(让网络分布式应用开发变得更容易)、消息中间件(将模块之间的交互异步化)等方案。
(3)网络架构设计A)运维架构
- 滴滴出行|裁员真能拯救中国互联网?
- 京东|裁员不忘膈应人,这家互联网大厂送的离职礼物恶心到我了!
- 架构设计|6G发展再迎里程碑 网络架构设计获突破
- 创业|八成互联网电视非法采集用户数据, 彩电企业怎么办?
- 移动通信网络|6G发展再迎里程碑 网络架构设计获突破
- 第六届全省中小学生互联网+机器人设计活动决赛顺利结束
- gen.g战队|骁龙8Gen2发布时间提前至11月,采用全新架构,改动较大
- 一、前言:采用Zen3+架构的6000系移动端处理器带来多核性能提升AMDZen3架构的...|A4纸大的锐龙6000轻薄本有多强!华硕灵耀X 13评测
- 杀毒软件|国产杀毒软件为何没落了?前世今生连起来看,就是互联网版宫廷剧
- 开源软件|Web3能拯救失落的互联网人吗?
