千万级数据的分类搜索引擎(二)

搜索系统前台组件-------轻量级的WebServer

    轻量级的WebServer是我们自己开发的一个轻量级网页服务器,实现了WebServer的一些最基本的功能,采用epoll模型处理网络通信,将客户的URL请求直接通过消息队列传递给后台的业务逻辑处理进程,吞吐率非常高,性能大概是Apache+CGI方式的3,4倍。

整个流程如下:

(1)WebServer接受用户请求

(2)用URL做Key查询SHM中是否存在Cache记录,如果命中,则直接获取网页,返回。不命中则到(3)

(3)将请求的URL存放到MSG-Q中

(4)业务逻辑进程轮询MSG-Q,获取URL

(5)业务逻辑进程根据URL像后台发送搜索请求,获取返回结果,生成一个HTML页面,存放到MSG-Q中

(6)WebServer轮询MSG-Q,获取到网页内容后,返回给用户,同时存放在Cache中

(7)cache会根据业务逻辑进程设定的时间定期淘汰过期的网页

实际使用中,cache对于纯静态的页面命中率可以达到90%以上,由于整个网页cache,所以访问速度相当快。对于变动频繁的页面,比如搜索,命中率在30%左右

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值