构建实时垂直搜索网站经验分享
刘连春@去哪儿网
大纲
•垂直搜索
•实时搜索
•监控系统
垂直搜索
•什么是垂直搜索?
–与业务紧密耦合
•高访问量
•高可用性
•快速响应
垂直搜索-高访问量
•构建集群
•动静分离
•转发策略
•缓存系统
•消息系统
高访问量-构建集群
Nginx
AppServer
Memcached
AMQ
Spider
添加机器即可扩容
(数据库用实机【IO,高可靠性】,应用服务器用虚拟机【快速调整内存,快速部署新机器】)
高访问量-动静分离
Nginx
静态内容
动态内容
高访问量-转发策略
•静态内容轮叫(Round-Robin)
•动态内容转发
–按用户转发
(同一用户日志在同一机器,问题诊断)
–按搜索条件转发
高访问量-缓存系统
•基本信息缓存
–配置文件
–基础数据
(定时刷新,即使刷新)
•分布式缓存
–Memcached
高访问量-消息系统
•AMQ (ActiveMQ)
AppServer
Spider
Queue
Topic
Other System
垂直搜索-高可用性
•消除单点
•自动故障转移
•系统尽量小而多
•控制后端压力
•使用外部接口经验
•留有备用系统
高可用性-消除单点
•为什么要消除单点
–软硬件故障是常态
•设计上的单点
–双机是基本要求
•隐藏的单点
–容量单点
(2个80%负载的机器)
–配置单点
(依赖的外部系统挂掉,没有设置超时)
高可用性-自动故障转移
•Failover
(避免类似下述场景问题:Nginx 报表导出 10分钟才能成功 超时转发 最后变成所有服务器都在运行导出服务)
数据库 2Master 1Monitor master之间IP漂移
AMQ 2个个服务器一组
Memcached 客户端转移
•Health check
高可用性-
系统尽量小而多
•降低影响用户比例
•快速启动
•快速添加服务器
高可用性-控制后端压力
•分航线配置抓取
(查询优化,移除无效查询)
•有效航线
•限制搜索量
(考虑供应商服务器性能)
•自动上下线
代理商工作时间 顾客量快满了
•协助对方优化系统
高可用性-使用
外部接口经验
•假定不稳定
–WebService, Socket, Mail
•设置超时
(连接超时,读取超时)
•添加
监控
•
用日志界定边界
–所有的输入输出
高可用性-留有备用系统
•缓冲系统压力
垂直搜索-快速响应
•有效利用缓存数据
•Ajax
多次回数
•优化静态内容
快速响应-有效利用缓存
•快速返回未过期数据
•主动更新缓存
–首页低价
快速响应-Ajax
多次回数
•只返回
必要的数据
•
动态调整刷新时间 可以返回报价的比例,调整相应时间
快速响应-优化静态内容
•利用CDN网络
•缓存静态内容
(图片),javascript,css不放 CDN不够稳定,故障,版本不对,系统控制在自己手里
实时搜索
•缓存更新策略
•Memcached使用经验分享
实时搜索-缓存更新策略
•设置过期时间
•反馈式更新
•热门点击易变化
缓存更新策略-设置过期时间
•根据业务特点设置
不同数据,时间不同
缓存更新策略-
反馈式更新
•构建反馈回路
AppServer
WebSite
User
Memcached
主动更新!
缓存更新策略-热门点击易变化
(设置短的缓存失效周期)
•最低的价格
•最好的时段
实时搜索-Memcached
•独立的LRU
•设置合理的过期时间
•缩减Key长度
•设置客户端的网络
超时
监控系统
•Cacti(监控)+Nagios(报警短信,邮件)
•深入应用的探针
–了解应用特性
–快速定位故障
–指导优化
•
分时报警
–不同时间段,不同的预警值
•设置
合理阈值
分享到:
相关推荐
大数据与云计算培训学习资料 构建实时垂直搜索网站经验分享 共33页.pptx
综上所述,育儿类垂直搜索网站的商业计划书着重展示了市场需求、竞争环境、业务模式和用户行为等方面的信息,旨在通过创新的垂直搜索技术,构建一个一站式满足家长育儿需求的网络服务平台,从而抓住市场的机遇并应对...
构建实时垂直搜索网站经验分享(刘连春).pdf 构建生态化分布式数据库架构体系(陶勇).pdf 百度私有云建设和开发部分云端服务(肖伟).pdf 盛大云平台的架构设计和实现(杜海).pdf 让交付的速度跟上思考的速度(潘捷...
百度资深研发工程师张安站,作为垂直搜索中台的技术负责人,分享了他在这个领域的经验与见解。 1. **产品分析与中台整体设计**: - 为了满足日益增长的多样化搜索需求,如智能搜索、丰富的交互体验和个性化内容,...
百度经验,作为国内知名的知识分享平台,其页面设计中的垂直步骤导航深受用户喜爱,因为它清晰地展示了任务或流程的每一步,让用户能够按照顺序轻松操作。 要实现这种垂直步骤导航效果,主要涉及HTML、CSS以及可能...
这些用户不仅活跃在社区中分享烹饪经验和食谱,也展现出了对高品质生活用品的兴趣。 2. **市场潜力**:厨房是一个高度集中的消费场景,涵盖了丰富的品类和高频次的使用需求。这为下厨房提供了进入电商领域的机会,...
"中国5G垂直行业应用案例(2022年)" 本报告将深入探讨中国5G垂直行业应用案例,涵盖5G...* GSMA对本次报告的主要合作单位表示感谢,并期望通过这个案例报告将5G在垂直行业应用的经验分享和推广给中国以及全球的同仁
### Flex登录界面开发经验分享——CSS层叠样式表的应用 #### 一、引言 随着Flex技术的发展,越来越多的企业和个人开发者开始关注并采用这一技术来构建高质量的Web应用程序。Flex以其丰富的用户界面、强大的交互性...
垂直社区则是指围绕某一特定主题建立起来的社交平台,用户可以在其中分享经验、交流心得。典型的例子包括: - **知乎**:一个基于话题的问答社区,用户可以根据自己的兴趣和专长选择参与讨论的话题。 - **雪球**:...
【虎扑体育】是中国最大的体育类垂直社区,其崛起得益...这些经验对于其他垂直领域的社区构建具有重要的参考价值。在互联网时代,能够抓住用户兴趣、打造独特品牌和提供有价值服务的平台,往往能够迅速崛起并持续发展。
8. **国际合作**:电子政务也为国际间的清洁能源合作提供了便利,各国可以分享经验,共同推进全球能源转型。 通过这个压缩包中的“行业分类-电子政务-垂直轴叶轮风力发电塔.pdf”文件,读者可以深入学习电子政务...
这篇经验分享主要涵盖了钢筋工程的多个重要方面,包括原材管理、力学实验、成品保护、加工、绑扎、位移控制、保护层设置、连接方式以及施工注意事项,旨在确保钢筋工程的质量和安全。 一、原材管理 1. 表面锈蚀:...
同时,为了增强用户间的交流,开心宝宝还增设了“育儿论坛”,改版了“育儿百科”,让用户在分享育儿经验的同时,能够进行深度交流。 开心网总裁程炳辉强调,推出开心宝宝是基于对用户需求的敏锐洞察,随着用户群体...
3. **传统品牌的转型困境**:尽管一些传统品牌意识到需要转型,但由于缺乏必要的技术和运营经验,它们在构建自媒体和自渠道方面的努力往往收效甚微。这不仅限制了品牌的传播范围,也削弱了其与消费者的互动能力。 ...
用户可以在这样的平台上进行深入的讨论和交流,分享专业知识和经验。 源码的开放性使得开发者可以查看、修改和学习项目的实现细节。这对于初学者来说是一份宝贵的资源,他们可以通过阅读源代码来理解如何实现社区...
3. **沟通内容的专业性和排他性**:成功的垂直社区往往涉及特定领域的专业知识,并且这类知识只适合在特定的小圈子内分享。这种排他性有助于保护社区不受外部干扰,如来自微博等大型社交平台的竞争压力。例如,女性...
这些经验对其他行业垂直平台具有借鉴意义,它们需要不断优化内容生态,打造互动社区,探索线上线下融合的服务模式,并利用科技手段提升广告效果。只有这样,才能在激烈的市场竞争中找到属于自己的商业化道路,实现可...