架构实战营模块四作业
数据结构采用 hash, key = 学期+学校+考试 id, value 试卷内容
每台机器 256G 存储,考虑安全每台占用 128G, 2.4T 数据需要 20 台机器组成的 redis cluster;因为需要高可用,20 台机器每台控制 1 个从库,总计 40 台 Redis 机器, 3 台 sentinel 机器用于自动切换主从库,总计 43 台机器
老师生成试卷,写入 key 为学期+学校 id+考试 id,写入 redis 主库;sentinel 自动监控主库状态,当主库失联时,自动切换一个从库为主库并提供读写能力每次
学生考试,按照 key 学期+学校 id+考试 id 访问 redis, 访问可以访问主库也可以访问从库(通过随机数 mod2 来访问主从库),并且可以保证 qps 上限在 10 万以上;当访问其中一台 redis 失效时,自动切换访问其他 redis;
评论