主题 04:如何设计一个复杂的系统(上)

本文阐述了设计复杂系统时理解业务的重要性,指出技术与业务需同行。以12306系统为例,强调了业务理解对于系统设计的关键作用。文章通过业务三问,引导工程师如何从用户、痛点和可行性角度理解业务,并提供了业务学习实践的步骤,包括构建业务知识框架、梳理业务主链路和将业务与技术结合。
摘要由CSDN通过智能技术生成

1. 引言

系统设计又称系统架构,软件领域负责系统设计的工程师通常被称为架构师。在阿里,架构师多以角色存在于具体的项目中,而非专门设置的职位,对于复杂的系统,通常由 P8 或 P9 级别的资深工程师负责设计。

在实践中,根据复杂度的不同,有些小系统只需画个流程图即可梳理清楚;但是,复杂系统的设计则困难得多,以 12306 为例,2020 年春运期间高峰日点击量达 1495 亿/天,170 万/秒,单从这两个数据看,其设计、实现就不容易。在 12306 系统设计方案评审的时候,官方曾邀请了数名阿里的资深工程师参与,本主题的撰稿人之一便是当年的亲历者,在通过官方提供的资料详细地了解了铁路交通票务相关的信息后,他才意识到自己严重低估了铁路票务的复杂度。在此,读者不妨设想一下,如果你是 12306 项目的设计师,你准备如何设计这个系统呢?你的设计套路(方法)是怎样的?

在笔者看来,不论采用何种设计方案,首先需要明确一个问题——你了解铁路票务吗?如果根本不了解铁路票务,那么,又怎么可能设计出满足铁路票务业务需求的系统呢?在实践中,设计一个复杂的系统,并不单纯是技术层面的问题,首要任务是深入了解其业务,鉴于此,作为系统设计主题的上篇&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jin_Kwok

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值