Google百度等搜索引擎采用的技术(12)
这篇讲述搜索引擎的Cache Server技术,服务器编程很重要啊,国内缺乏优秀的服务器端程序员,倒是有不少骗子,自称技术很NB,其实写的服务器端很不稳定,经常回档,还拿着高薪。
4.2,Cache Server
WebServer在接受到搜索请求后,对搜索结果完成查询时分词处理,然后向“索引服务器”发出查询请求, “索引服务器”返回结果;WebServer对结果进行必要处理,然后向“网页内容”服务器通信,获得各个网页内容;最后WebServer给用户显示搜索结果。

在对用户行为进行分析后发现,非常多的查询词经常被用户查询,这些词被称为“搜索高频词”。为此,设计出来Cache Server(CS)用于存储这些高频词的搜索结果,每当后台系统更新后,这些高频词先进行查询,然后把查询结果放到CS中,从而减少系统后台压力。(一亿度补充:一个优秀的系统里,缓存是必须的组成部分,比如Windows操作系统有虚拟内存,唯独我们伟大的光荣的正确的WordPress没有缓存,就知道一天到晚查询数据库,给数据库添加垃圾数据,据说最新的2.6版更加强悍,同一篇文章添加好几个记录到数据库,据说是为了版本回溯,但我认为更象是捣乱。)

CS还可以部署在“索引服务器”、“网页内容服务器”和WebServer之间,提高这两个后台服务器的效率。
CS自我定期更新策略:
CS在其设计中,重点考虑其拦截率,所以,CS的自我定期更新策略就特别重要。CS在其初始化阶段,其存储数据主要来源于原来的日志统计结果;在CS运行后,CS要实时监控当前数据流,并定期进行自我更新,把那些没有被访问过或低访问率的数据删除,增加新增数据。(一亿度补充:用户查询后较少出现的网页,往往会被删除,导致网站收录减少,这也是优化的一个策略。wordpress从来不知道优化为何物,真不知道开发者的脑袋是被驴踢了,还是进水了。)
CS虽然可以提高数据访问时的速度,但如果设计出来的CS命中率过低的话,对整个系统效率还反而带来降低,所以CS不能滥用,要结合系统实际负荷来设计和部署CS系统。
收藏到QQ书签 0 我顶!


