软考系统架构设计师案例分析+答案解析!

系统架构设计师 责任编辑:龙小林 2025-11-26

添加老师微信

备考咨询

加我微信

案例场景

某大型综合类电商平台拥有庞大的用户群体,且每逢节假日期间会迎来订单量的爆发式增长。订单处理系统需要快速响应大量的并发请求,并在短时间内完成订单创建、库存扣减、支付验证等操作。由于订单数据量大且操作频繁,传统的关系型数据库难以满足性能要求。公司拟引入Redis作为订单处理系统的一部分,利用其高性能的key-value存储和内存操作优势,将订单号、用户信息等关键数据缓存到Redis 中。并通过 Redis 的自身机制,将订单数据分布到多个Redis 节点,实现负载均衡和数据冗余。同时,利用 Redis 的原子操作和事务特性,确保订单处理过程中的数据一致性和完整性。

问题内容:

[问题1](8分)

Redis 数据分片方案有多种,请根据分片方案的特点填写以下表格内容。

 image.png

在系统设计方案讨论时,王工提出除了以上两种方案,还有一种分片方案,此方案不但能让 redis 各结点负载相当,且从长久来说,更利于扩展Redis结点,请指出王工的分片方

案,并说明该方案为何更利于扩展结点。

[问题2] (6分)

Redis 支持多种数据类型,请为以下应用场景选择最合适的Redis数据类型。

(1)网站用户画像标签。

(2)多用户同时下订单,扣减库存时的分布式锁。

(3) 商品销售周排行榜。

[问题3]

(6分)

Redis 缓存区容量有限,当缓存空间不足时,则需要淘汰缓存区中的部分数据。

volatile-lru 和 allkeys-lru 两种算法有共性,即均遵循(1)原理,优先淘汰(2)的数

据。同时,他们也有差异,差异在于volatile淘汰数据时的范围限定为仅针对(3)。

[问题4(5分)

布隆过滤器可以解决Redis 应用中的什么问题?用这种方法,会有什么缺点?


试题答案:

[问题1] (8分,(a)-(d)每空1分,后面每问2分)

(a) 取值范围 (b) 不均匀(c) 哈希值(d) 均匀

王工的分片方案为:一致性哈希。

该方案通过哈希环机制,增设了很多虚拟结点,再映射到物理结点,所以扩展结点时,不

必像哈希分片那样对所有数据重新分配结点。只需要将部分数据做重新调整。

[问题2] (6分,每空2分)

(1) Set (2) String (3) Zset

[问题3] (6分,每空2分)

(1) 局部性原理(2)最近未被访问(3)设置了过期时间的数据

[问题4] (5分,第1问2分,第2问每条1分)

布隆过滤器可用于解决缓存穿透的问题。

其缺点包括:

1、有一定的误判率,即存在假阳性,不能准确判断元素是否在集合中。

2、一般情况下不能从布隆过滤器中删除元素

3、不能获取元素本身

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取

!
咨询在线老师!