下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922
试卷 > 软考高级 > 系统架构设计师 > 2026下半年软考系统架构设计师第一期模考试卷(案例分析) > 本题我的试卷

  某智慧城市项目需要搭建城市交通综合管理平台,平台需要接入路口摄像头、雷达、车端上报等多源感知数据,实现交通流量统计、拥堵预警、信号智能调度、事件告警等业务。平台业务特点:海量流式感知数据、高并发写入、7×24 不间断运行、业务模块可按需迭代升级,同时敏感交通数据需要严格权限管控。项目团队准备采用微服务架构进行系统设计。   【问题 1】(10 分)   微服务架构和传统单体架构存在明显差异,请简述微服务架构的优缺点。同时说明微服务架构适用场景与不适用场景。   【问题 2】(8 分)   该交通平台存在大量流式实时感知数据,需要选用合适的中间件进行数据采集与流转。请列举 2 种主流流式消息中间件,并简述各自特点。同时说明微服务之间常用的 3 种通信方式。   【问题 3】(7 分)   微服务架构引入分布式系统,带来分布式事务难题。请简述 SAGA 模式的两种实现方式,并说明各自的优缺点。

正确答案
答案解析

 【问题 1】参考答案

  微服务架构优点

  1. 模块解耦:业务按领域拆分,单服务体量小、逻辑清晰,降低开发、维护和迭代难度。

  2. 弹性扩容:各服务独立部署、独立扩缩容,可针对流量热点模块单独扩容,资源利用率更高。

  3. 技术异构:不同服务可根据业务需求选用适配的技术栈,无需统一技术框架。

  4. 故障隔离:单服务故障仅影响自身,不会导致整体系统瘫痪,提升系统容错性。

  5. 高效协作:可按服务拆分团队,多团队并行开发、独立迭代,提升研发效率。

  微服务架构缺点

  1. 系统复杂度提升:分布式架构带来网络延迟、数据一致性、服务调用等一系列分布式问题。

  2. 运维成本高:服务实例数量多,部署、监控、日志排查、运维管控难度大幅增加。

  3. 调用链路复杂:服务间依赖繁多,跨服务调用链路长,问题排查、故障定位难度提升。

  4. 事务处理困难:分布式场景下无法保证强一致性,需额外方案解决分布式事务问题。

  5. 接口管控繁琐:多服务接口迭代频繁,版本兼容、接口文档管理工作量大。

  适用场景:业务模块边界清晰、业务迭代频繁、存在高并发场景、需要弹性扩容、多团队并行开发的大型复杂系统。

  不适用场景:业务简单、体量较小、需求稳定、迭代频率低,追求快速上线、低成本运维的小型系统。

  【问题 2】参考答案

  主流流式消息中间件及特点

  1. Kafka:高吞吐、低延迟,支持海量消息持久化与堆积,分区机制支持分布式并行处理,性能优异,适合大规模流式感知数据、日志数据的采集与流转。

  2. RabbitMQ:路由策略丰富、可靠性极高,支持消息确认、死信队列、重试机制,消息投递精准,适合核心业务事件的可靠投递。

  微服务常用通信方式

  1. 同步短连接调用:REST API,基于HTTP协议,通用性强、跨语言适配性好。

  2. 同步长连接调用:gRPC,基于Protobuf序列化,传输效率高、延迟低,适合高性能服务交互。

  3. 异步事件驱动:消息队列(Kafka/RabbitMQ),解耦服务依赖,适配高并发、异步业务场景。

  【问题 3】参考答案

  SAGA 模式是解决长事务、分布式事务的经典方案,分为编排式和协同式两种实现方式。

  1. 编排式(Orchestration)

  实现逻辑:搭建中央事务编排器,统一定义事务执行流程、步骤顺序,由编排器主动调度各个微服务执行子事务,异常时统一触发补偿回滚。

  优点:事务流程集中管控、逻辑清晰、便于维护和问题排查,适配复杂长事务场景。

  缺点:编排器为核心单点,高并发场景下易成为系统性能瓶颈,存在单点故障风险。

  2. 协同式(Choreography,舞蹈式)

  实现逻辑:无中央控制器,各微服务基于事件机制自主协同,单个服务完成子事务后发布事件,自动触发下一个服务执行,异常时各服务自主执行补偿逻辑。

  优点:去中心化架构,无单点瓶颈,服务耦合度极低,扩展性好。

  缺点:事务流程分散在各个服务中,无法可视化管控,整体链路复杂,故障排查、流程维护难度大。