模块 4 学习总结
模块 4 讲的是存储架构,我之前以为存储指的就是文件存储,以为数据库存储跟文件存储是两码事,但其实从架构的角度来看,尤其是按照架构实战营所讲的面向复杂度的架构设计思想,所谓的存储架构就是用来解决存储本身的复杂度的。我当时问了一个问题,CDN 是否属于算是复制架构的一种,结果老师说 CDN 解决的是性能问题,而不是存储本身的问题,因此本质上是属于计算架构,属于负载均衡的范畴。
另一方面,很多数据存储系统中的数据本身就是二进制数据,这些二进制数据代表什么都可以,具体的解析是由客户端去完成的,说白了就是序列化和反序列化,因此存储系统本身并不限制用来存什么,Redis 也可以用来存文件。这确实颠覆了我之前的认知。
我对于数据库其实不太熟悉,在做作业的时候就感受到了。前面性能分析都很顺利,感觉分析结果也很充分,但真正到了要用 Redis Sentinel 来做存储架构设计的时候,我就会想,为什么要用 Redis?我能想到的只有 Redis 在高并发读方面的优势,但算了一下如果没有缓存机制,请求试卷的带宽会非常恐怖,所以仅仅是从 QPS、TPS 角度分析这个问题似乎还不够完整。
另外,考虑到 Redis 在持久化方面并不可靠,所以我认为历史试卷数据的存储还是得用别的方案,Redis 只作为当前考试试卷的一个缓存,这样 Redis 总体的存储量就下来了。
版权声明: 本文为 InfoQ 作者【TH】的原创文章。
原文链接:【http://xie.infoq.cn/article/b696c8f9441815cba81a6176e】。未经作者许可,禁止转载。
评论