疲劳是最舒适的枕头,努力工作吧。

基于 Elasticsearch 的斗鱼搜索服务实现

2016-12-10 by 白凡

本人白凡,热爱代码,研究源码,研究开源框架,熟悉ElasticSeach,ELK。
上海海洋大学硕士毕业,学成后便回到武汉工作,进入斗鱼网络科技有限公司,开始从事斗鱼搜索服务搭建,早期研究lucene,solr,最初对ES仍存怀疑态度,但后来见其社区广,版本迭代快,遂开始预研。
第一个基于ES的线上搜索项目是斗鱼鱼吧搜索,该项目类似于斗鱼的论坛,涉及到大量的分词检索,因此,采用了ES+IK。上线后,效果明显,且服务器压力,负载均很稳定,便逐渐在其他项目推广开来,斗鱼主站,鱼秀,移动端,点播搜索等等。
因此,本人也算Elastic在斗鱼的推广者,再后来不仅搜索服务,部分全站日志收集,实时监控,也采用了ELK体系。去年,有幸参加了Elastic上海区的meetup,收获良多,与众开发者交流学习,实属愉快。今朝又有幸分享自己的ES成果,倍感荣幸。
 
主要针对Elasticsearch在斗鱼主站、鱼吧、点播系统、移动端等搜索项目中应用及其性能调优,进行演讲介绍,具体内容包含以下几点:
1.斗鱼主站、鱼吧、点播系统、移动端等不同业务环境下,ES集群搭建、搜索接口调用、mapping创建及配置设置。
2.斗鱼搜索技术架构,接口采用Nginx处理一级缓存以及负责均衡,tomcat实现索引同步及搜索接口,以ES,MySQL,Redis为基础的数据存储。
3.斗鱼搜索服务缓存处理,高并发应对策略。
4.由于斗鱼网络科技有限公司的语言异构性,搜索集群如何处理数据同步。
5.斗鱼搜索基于Zabbix+ELK的监控环境搭建,日志收集。
6.以及在搜索开发过程中遇到的接口问题、集群环境问题,并发负载问题以及解决方法的分享。
7.以及未来对搜索服务规划,服务接口化,统一工程分化,docker化。