前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >需求分析—高并发场景微服务实战(二)

需求分析—高并发场景微服务实战(二)

原创
作者头像
程序员Alan
发布2022-10-27 11:06:58
3030
发布2022-10-27 11:06:58
举报
文章被收录于专栏:程序员Alan

在《 高并发场景微服务实战(一)》一文中,我提到决定以一个虚拟的高并发场景的微服务系统为主线,系统性从 0 到 1 的创造一个高并发场景的微服务系统。这个高并发业务场景是——订票系统机票秒杀。

下面我会详细说一下自己为什么选择这个业务场景作为需求原型,并记录下我分析需求和梳理业务流程的过程。

在公司需求分析工作大多数情况是由PO(产品经理)完成的,我虽然偶尔会提出一些建议,但缺少需求分析的专业知识,所以可能会有许多错误,见笑了。

为什么要选取“机票秒杀业务”作为需求原型呢?

这里我主要有以下几个考量:

  1. 业务场景很典型,熟知度比较高,业务理解上不存在很大的障碍。
  2. 能将我所要表达的微服务特性和高并发特性融入进去。
  3. 业务复杂度比较低,便于上手开发,因为门槛太高反而不利于技术实践,需要花大量的时间去写业务。

原始需求

很多人应该都用过去哪儿,携程之类的软件购买机票。这类APP会把所有航空公司的航班、票价等信息都获取到,然后再聚合。 本次我就是以这个场景为业务原型开展,业务需求经过简化相对实际业务来说非常简单。简化业务的原因是因为不想花太多时间在业务逻辑上面,通过这次实践能掌握到微服务技术栈和高并发技术栈即可。

原始需求描述如下:

  • 用户可以通过订票系统可以同时获取多家航空公司的航班信息。
  • 用过可以通过订票系统购买指定航空公司机票。
  • 在订票系统后台可以看到用户的支付流水,订单信息。

需求分析

依据原始需求,整合分析后可归集为以下业务模块:

  • 用户。用户信息(主要是姓名、余额),航公公司机票信息(主要是公司名、航班号、航班信息、价格、机票数量)。
  • 机票资源。用户购买机票后,航空公司机票库存扣减,订票系统实时显示航空公司实最新机票信息。
  • 计费。用户成功购买机票后收费。
  • 财务。机票购买的支付流水,收入统计。
  • 消息。机票支付消息。

用户故事、任务整理

以上述需求归集情况,罗列几个代表性的用户故事,取代传统的需求文档。

  • 作为一个普通用户。我希望可以快速查询到,指定出发时间内所有航空公司的机票信息,以便于购买最划算的机票。
  • 作为一个订票系统用户。我希望可以快速查询到所有航空公司的航班信息,并聚合展示给用户。
  • 作为一个订票系统用户。我希望可以代用户向航空公司购买机票,看到用户支付流水和订单信息。
  • 作为一个航公公司用户。我希望可以看到机票的销售情况,用户的支付流水。

下面基于以上故事,将故事拆解成较细的任务,拿第二个故事举例。

1.1 订票系统接收用户传入的查询信息,例如 2022/10/1 18:00 深圳飞往三亚

1.2 订票系统把所有航空公司的航班、票价等信息都获取到

1.3 将机票信息聚合,展示给用户

关键业务流程梳理

基于需求情况,找出核心的业务流程,指导后期的核心业务开发。

留个问题

你会用什么方式获取和聚合机票信息?

站在巨人的肩膀上:

  • 码闻强—SpringCloud微服务实战
  • 徐隆曦—Java并发编程78讲

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为什么要选取“机票秒杀业务”作为需求原型呢?
  • 原始需求
  • 需求分析
  • 用户故事、任务整理
  • 关键业务流程梳理
  • 留个问题
  • 站在巨人的肩膀上:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档