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

介绍了一种轻量级WebServer的设计与实现,该服务器通过高效的epoll模型处理网络通信,并利用消息队列与业务逻辑进程交互,能显著提高网页响应速度。缓存机制可使静态页面的命中率达到90%以上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

搜索系统前台组件-------轻量级的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%左右

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值