您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 构建实时垂直搜索网站经验分享(刘连春)
构建实时垂直搜索网站经验分享刘连春@去哪儿网大纲•垂直搜索•实时搜索•监控系统垂直搜索•什么是垂直搜索?–与业务紧密耦合•高访问量•高可用性•快速响应垂直搜索-高访问量•构建集群•动静分离•转发策略•缓存系统•消息系统高访问量-构建集群NginxAppServerMemcachedAMQSpider添加机器即可扩容高访问量-动静分离Nginx静态内容动态内容高访问量-转发策略•静态内容轮叫(Round-Robin)•动态内容转发–按用户转发–按搜索条件转发高访问量-缓存系统•基本信息缓存–配置文件–基础数据•分布式缓存–Memcached高访问量-消息系统•AMQ(ActiveMQ)AppServerSpiderQueueTopicOtherSystem垂直搜索-高可用性•消除单点•自动故障转移•系统尽量小而多•控制后端压力•使用外部接口经验•留有备用系统高可用性-消除单点•为什么要消除单点–软硬件故障是常态•设计上的单点–双机是基本要求•隐藏的单点–容量单点–配置单点高可用性-自动故障转移•Failover•Healthcheck高可用性-系统尽量小而多•降低影响用户比例•快速启动•快速添加服务器高可用性-控制后端压力•分航线配置抓取•有效航线•限制搜索量•自动上下线•协助对方优化系统高可用性-使用外部接口经验•假定不稳定–WebService,Socket,Mail•设置超时•添加监控•用日志界定边界–所有的输入输出高可用性-留有备用系统•缓冲系统压力垂直搜索-快速响应•有效利用缓存数据•Ajax多次回数•优化静态内容快速响应-有效利用缓存•快速返回未过期数据•主动更新缓存–首页低价快速响应-Ajax多次回数•只返回必要的数据•动态调整刷新时间快速响应-优化静态内容•利用CDN网络•缓存静态内容实时搜索•缓存更新策略•Memcached使用经验分享实时搜索-缓存更新策略•设置过期时间•反馈式更新•热门点击易变化缓存更新策略-设置过期时间•根据业务特点设置热门出发城市热门日期缓存更新策略-反馈式更新•构建反馈回路AppServerWebSiteUserMemcached缓存更新策略-热门点击易变化•最低的价格•最好的时段实时搜索-Memcached•独立的LRU•设置合理的过期时间•缩减Key长度•设置客户端的网络超时监控系统•Cacti+Nagios•深入应用的探针–了解应用特性–快速定位故障–指导优化•分时报警–不同时间段,不同的预警值•设置合理阈值业务监控,重中之重!9月17日搜索的结果9月17日搜索的结果欢迎加入Qunar!Email:lianchun.liu@qunar.com微博:
本文标题:构建实时垂直搜索网站经验分享(刘连春)
链接地址:https://www.777doc.com/doc-5230950 .html