当前位置: 首页 > news >正文

架构师面试(二十六):系统拆分

问题

今天我们聊电商系统实际业务场景的问题,考查对业务系统问题的分析能力、解决问题的能力和对系统长期发展的整体规划能力。

一电商平台在早期阶段业务发展迅速,DAU在 10W+;整个电商系统按水平分层架构进行设计,包括【入口网关层】、【业务逻辑层】和【数据访问层】。为了进一步提升电商平台的DAU,几乎每周都会做几次运营活动,因此电商系统基本每天都会有新业务上线和服务重启,这导致电商系统的核心交易逻辑(下订单、支付等)极易受到影响。另外,电商系统的每个业务单元(如:风控系统、广告系统、营销系统等)也都处在不断地更新迭代中。

如果你是该电商系统的架构师,如何解决现有问题?对该电商系统的后续发展应该如何规划?

解析

该电商系统目前处于早期阶段,业务发展迅速,系统按水平分层架构在运行;这里多啰嗦几句,对【水平分层架构】进行简单描述。

水平分层架构一般是在“技术”扩展驱动之下,对单体架构进行水平拆分,通常可划分出【入口网关层】、【业务逻辑层】和【数据访问层】;入口网关层负责外部请求的路由、过滤和转换,业务逻辑层负责处理复杂的业务规则流程,数据访问层负责对持久化数据进行读写。

水平分层架构的每一层是整体系统的横向切面,没有拆分出独立的业务单元,也就是说:业务逻辑层是一个独立服务或进程在运行,这个独立的进程中既有运营活动逻辑也有核心的交易逻辑; 即在同一个工程中,运营活动程序很容易影响核心的交易逻辑程序,这是最根本的问题所在。然后业务逻辑层程序除了核心的交易逻辑和运营活动之外,还包括其他业务单元,比如:风控、广告、营销等;任何一个业务的升级迭代和重启,都会导致其他业务单元也需要重启,正所谓“城门失火殃及池鱼”!

那怎么解决现有问题呢?

目前最紧急的问题是“运营活动”影响“核心逻辑”,成本最低的解决方案是:对业务逻辑层拆分出一个附加的业务逻辑模块,假设目前的业务逻辑层程序叫做 Logic,那就从Logic中把运营活动逻辑单独拆分出来,不妨叫做 Extlogic;由 Logic 负责最核心的业务逻辑内容(比如下单、交易等),由 Extlogic 负责运营活动内容。

上述问题解决之后,就可以开始着手解决很重要但相对不紧急的问题,即很多业务单元(风控、广告、营销、下单、交易等)目前都还糅杂在 Logic 中,最彻底的解决方案是:对每一个业务单元进行服务化拆分;在当前的业务场景中,也叫做垂直化拆分。就是从 Logic 中分别拆分出 SpamLogic(风控逻辑服务)、AdLogic(广告逻辑服务)、MarketingLogic(营销逻辑服务)、OrderLogic(订单逻辑服务)、TradeLogic(交易逻辑服务)等。

这个问题解决之后,就可以坐等业务的发展了,如果业务发展良好,百花齐放,前端孵化出各种业务线时,就可以考虑中台化了,比如对交易业务、风控业务、广告业务等进行下沉形成可复用的业务中台。

简单总结一下:

1. 从 Logic 中拆分出 Extlogic,解决运营活动影响核心业务逻辑的问题;

2. 从 Logic 中拆分出 SpamLogic、AdLogic、MarketingLogic、OrderLogic、TradeLogic 等,解决业务单元之间互相影响的问题;

3. 业务单元中台化,解决业务复用问题,助力前端业务发展。

相关文章:

  • 【Csharp】获取实时的鼠标光标位置,测试用——做窗口软件绘图需要确定光标位置
  • GenerationMixin概述
  • Python Cookbook-5.5 根据内嵌的数字将字符串排序
  • 清明假期间
  • 数据分析-Excel-学习笔记
  • AI大模型:(二)2.1 从零训练自己的大模型概述
  • 【LeetCode 热题100】55:跳跃游戏(详细解析)(Go语言版)
  • 用python来操作mysql(复习一,主要是mysql连接和授权)
  • 【清明折柳】写在扬马三周目后
  • 【NLP 54、大模型训练相关知识】
  • Sentinel核心源码分析(上)
  • InfoSec Prep: OSCP靶场渗透
  • 定义和初始化 vector 对象(三十八)
  • TypeScript学习第十六篇 - interface和type的区别?
  • 【在线OJ项目测试报告】
  • 第十章Python语言高阶加强-SQL(数据库)
  • windows AndroidStudio上传maven中央仓库
  • MySQL约束详解:从入门到精通
  • java.util.Collections中常用api
  • Systemd安全加密备份系统与智能通知
  • 网站托管/全国最新的疫情数据
  • 深做网站公司/深圳网络公司推广公司
  • 网站开发公司不干了/网站运营怎么做
  • 免费看今天开始做女神的网站/网站点击量查询
  • 老师用什么网站做ppt/微信群推广平台有哪些
  • 汇鑫网站建设便捷/下拉关键词排名