千万级数据的分类搜索引擎(四)
来源:互联网 发布:淘宝电子设备回收 编辑:程序博客网 时间:2024/06/02 17:05
后台服务程序ListKernel---线程模型
List分类检索服务器有4个线程,主工作线程有2个,状态上报线程一个,数据更新线程一个。
为了减少服务器上下文切换开销,状态上报线程和数据更新线程都是定时运行,大部分时间都是sleep状态
状态上报线程:每分钟探测一次ListKernel的运行状态,判断进程是否在运行,如果没有则重起Listkernel.同时接收ListMonitor的控制命令,判断是否有控制台操作,有则响应。每分钟还会上报一次数据,listKernel的当前运行状态,负载...
数据更新线程:每5秒运行一次,主动连接流水DB,每次处理3000条数据更新记录,按照seqno大小顺序处理。
请求接收线程:接收请求命令,做初步的校验,然后判断命令类型,将正确的请求包放到一个环形缓冲队列中。
请求处理线程:搜索的主工作线程,从环形buffer中取出请求,判断是否超时,如果超时则丢掉,防止暴雪效应。解析请求字段,对命令请求作过滤,排序,聚类。最后再封装成一个响应包,发送回去。
图示如下:
线程之间没有加锁,环形buffer使用了一个冗余节点来避免互斥。
整个listKernel的设计思想就是“简洁”,以达到较高的处理效率。
- 千万级数据的分类搜索引擎(四)
- 千万级数据的分类搜索引擎(一)
- 千万级数据的分类搜索引擎(二)
- 千万级数据的分类搜索引擎(三)
- 千万级数据的分类搜索引擎(五)
- 千万级数据的分类搜索引擎(六)
- 千万级数据的全文检索搜索引擎(四)
- 千万级数据的全文检索搜索引擎(一)
- 千万级数据的全文检索搜索引擎(二)
- 千万级数据的全文检索搜索引擎(三)
- 基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计
- 基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计
- 基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计
- 基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计
- 基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计
- 基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计[转载]
- 基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计
- 实现千万级数据的分页显示!
- 太平洋保险携手IBM喜获IT安全大奖
- 小女人发出来的DVBBS8的猪入0day
- 一段比较经典的多线程学习代码
- 试验用户控件(.ascx)中的验证控件的客户端验证
- 一些知识
- 千万级数据的分类搜索引擎(四)
- Mysql Limit操作
- 观看 孙鑫 老师的《VC++ 深入编程视频教程》日记
- 千万级数据的分类搜索引擎(五)
- http://topic.csdn.net/t/20030106/17/1332084.html
- 保险业信息化补血 2011年将达72.1亿元
- 性能调优(处理 sql server 死锁)
- 白骨精组入门, 来自老美的超级智力测验题
- java桥连SQLServer2000的代码片段