写点什么

[架构实战营][模块四作业]

用户头像
KK_TTN
关注
发布于: 4 小时前

系统要求

作业要求

基于模块 4 第 6 课的估算结果和 Redis sentinel 的初步方案设计,完善考试试卷存储方案,具体包括:

• 完善 Redis 的数据结构设计,明确具体使用哪种 Redis 数据结构。

• 设计具体的读写流程(可以文字描述也可以序列图描述,序列图要有文字辅助说明)。

• 对照模块 4 第 6 课的性能估算结果,计算 Redis sentinel 集群的服务器数量和性能。

提示

1. 性能可以有一定冗余。

2. 如果对 Redis sentinel 不熟悉,请参考官方文档:https://redis.io/topics/sentinel

Redis 设计

试卷存储和访问使用 Redis Sentinel

Redis Sentinel 架构

采用官方文档最基本的 three boxes1 主 2 从架构,主从都可读试卷以保证较高的读性能,Sentinel 负责状态监控与故障转移


+----+ | M1 | | S1 | +----+ | +----+ | +----+ | R2 |----+----| R3 | | S2 | | S3 | +----+ +----+ Configuration: quorum = 2

数据结构

使用 Redis Hashes, key 为 [学校 ID]:[课程 ID]:[学期 ID],feilds 必须包括试卷内容

性能评估

假设一份试卷平均大概 800 字,UTF-8 存储 2.5KB

假设一次考试有 1000 份不同试卷,2.5MB

Redis 实例使用 4 核 8GB,每个实例能支撑 hget 请求 75k QPS,主从可支持超过 200k QPS

试卷请求 QPS 在 50k QPS 左右,冗余充分


读写流程


用户头像

KK_TTN

关注

还未添加个人签名 2018.03.03 加入

还未添加个人简介

评论

发布
暂无评论
[架构实战营][模块四作业]