试题一(25 分)必答题
阅读以下关于基于微服务的系统开发的叙述,在答题纸上回答问题1至问题3。
【说明】
某公司拟开发一个网络约车调度服务平台,实现基于互联网的出租车预约与管理。公司的系统分析师王工首先进行了需求分析,得到的系统需求列举如下:
系统的参与者包括乘客、出租车司机和平台管理员三类;
系统能够实现对乘客和出租车司机的信息注册与身份认证等功能,并对乘客的信用信息进行管理,对出租车司机的违章情况进行审核;
系统需要与后端的银行支付系统对接,完成支付信息审核、支付信息更新与在线支付等功能;
针对乘客发起的每一笔订单,系统需要实现订单发起、提交、跟踪、撤销、支付、 完成等业务过程的处理:
系统需要以短信、微信和电子邮件多种方式分别为系统中的用户进行事件提醒。
在系统分析与设计阶段,公司经过内部讨论,一致认为该系统的需求定义明确,建议尝试采用新的微服务架构进行开发,并任命王工为项目技术负责人,负责项目开发过程中的技术指导工作。
【问题 1】(12 分)
请用 100 字以内的文字说明一个微服务中应该包含的内容,并用 300 字以内的文字解释基于微服务的系统与传统的单体式系统相比的 2 个优势和带来的 2 个挑战。
【问题 2】 (8 分)
识别并设计微服务是系统开发过程中的一个重要步骤,请对题干需求进行分析,对微服务的种类和包含的业务功能进行归类,完成表1-1 中的(1)~(4)。
【问题 3】(5 分)
为了提高系统开发效率,公司的系统分析师王工设计了一个基于微服务的软件交付流程,其核心思想是将业务功能定义为任务,将完成某个业务功能时涉及到的步骤和过程定义为子任务,只有当所有的子任务都测试通过后改业务功能才能上线交付。请基于王工设计的在线支付微服务交付流程,从(a)~(f)中分别选出合适的内容填入图 1-1 中的(1)~(5)处。
选项:(a)提交测试 (b)全量上线 (c) 对接借记卡
(d) 获取个人优惠券 (e)试部署 (f)对账