这套分类搜索引擎花了我2年的时间,经历过好几次的版本升级,终于完成了分布式的版本,实际运营接近一年,相当稳定,系统最高容量达到1300W数据,单机支撑800W左右的商品,单机吞吐超过30个/秒,系统可平行扩展,本周就扩容了一次。下面逐步说明这套系统的架构。
一、搜索引擎的整体架构
系统包含以下部分:
(1)轻量级WebServer:自己写的一个WebServer,高性能,大并发,自带WebCache模块,和一个单独的业务进程通过消息队列通信
(2)通用服务器:一个高性能的中转服务器,使用epoll模型,前端和WebServe用短tcp连接通信,后端和搜索引擎服务器用TCP长连接通信,自己管理一个连接池,双击热备
(3)分类搜索引擎:采用分布式架构,每个集群负责处理部分数据的浏览请求,集群之间互相备份,共同分担查询请求
(4)数据库服务器:作为一个流水DB,只记录商品的更新,删除操作,在搜索引擎取完数据后,即清空数据库表。
下一篇文章就逐一介绍这些模块。