陈浩翻到本子的一页,上面画着简单的图表。
“我们现在的问题,你知道是什么吗?”
他问。
“度还不够快。”
贾瀞雯说,“虽然比公测时好多了,但高峰时段还是会卡。
用户反馈里,度还是排在第一位。”
“对。”
陈浩在本子上点了一下,“所以下一阶段,我们的核心目标就一个:把搜索响应时间降到一秒以内。”
贾瀞雯愣了一下:“一秒?现在平均是三到五秒。”
“所以需要突破。”
陈浩说,“不是优化,是突破。
要换思路。”
他拿起笔,在本子上画了个简单的架构图。
“现在的架构,是集中式的。
所有请求都打到一台主服务器,由它调度,查询数据库,返回结果。
这个架构有瓶颈--单点故障,性能上限低。”
他画了几个方框,用线连起来。
“我们要改成分布式的。
把搜索服务拆成多个模块,每个模块独立部署,可以水平扩展。
用户请求进来,先到负载均衡器,然后分到不同的搜索节点。
每个节点只处理一部分请求,这样整体性能就能提升。”
贾瀞雯看着那张图,努力理解。
“那数据库呢?”
她问,“索引数据怎么办?”
“也分布式。”
陈浩在图的另一边画了几个数据库图标,“索引分片,存储在不同的数据库服务器上。
查询时,多个节点并行检索,结果汇总。
这样查询度能快很多。”
他顿了顿:“但这个改动很大,需要重写很多代码。
而且分布式系统有新的问题--数据一致性,节点通信,故障容错。
技术难度高。”
贾瀞雯思考着。