目录
架构改进之路 ..................................................................................................................................1
文档处理的改进之路 ......................................................................................................................1
对于每个离线文档生成本身...................................................................................................1
分析业务 ..........................................................................................................................1
具体怎么做? ..................................................................................................................2
继续改进: ......................................................................................................................................3
启示: ..............................................................................................................................................4
实战项目-性能优化实战
架构改进之路
服务的拆分,把离线文档的生成拆了出来,变成一个单独的 RPC 服务。web 服务进行拆分,
一一调用离线文档的服务。
实现 RPC 服务(本身是同步的)时,引入了一个缓冲机制,任务放入一个队列。web 服务
器可以很快对客户进行应答。
文档生成并行化,生产者消费者模式,还可以进行生产者消费者级联。
文档处理的改进之路
对于每个离线文档生成本身
分析业务
1、从容量为 10 万左右的题库中为每个学生抽取适合他的题目,
2、每道题目都含有大量的图片需要下载到本地,和文字部分一起渲染。
但是我们仔细考察整个系统的业务就会发现,我们是在一次考试后为学员生成自适应的
练习册,换句话说,不管考试考察的内容如何,学生的成绩如何,每次考试的知识点是有限
的,而从这些知识点中可以抽取的相关联的题目数也总是有限的,不同的学生之间所需要的
题目会有很大的重复性。举个例子我们为甲学生因为他考卷上的错误部分抽取了 80 个题目,
有很大的概率其他学生跟甲学生错误的地方会有重复,相对应的题目也会有重复。对于这部
分题目,我们是完全没有必要重复处理的,包括从数据库中重新获取题目、解析和下载图片。