作者:罗一鸣
资料来源: https://my.oschina.net/u/2485991/blog/533163
在
前言:
站外推广系统订单报告一直是个痛点,研究后选择ES搜索引擎进行改造。 在线上遇到了很多问题,经过多方修改,目前系统终于正常运行,满足了订单报表大数据量、实时更新、响应速度、多维度查询的需要。
追寻花瓣本来是用ppt写的,在这里只能修改成图片展示。
一、为什么选择ES
搜索引擎主要考虑的是ES支持结构化数据查询和实时频繁更新功能。
二、总体系统架构
整个业务线采用服务化方式,ES集群和数据库被数据库化,作为数据源封装在订单服务系统中作为对外统一接口; 每个后台APP和报告中心都以服务化的方式获取订单数据。
三、数据更新设计
ES数据更新有批量更新和实时更新两种。
1、用于手动更新初始化数据或修复数据时
2、实时更新通过监视数据库订单的binlog,进行实时同步
四、机器、索引、参数配置
五、索引结构图
六、机器性能选择
频繁更新时请务必考虑使用固态硬盘
七、文档id选择
是订单数据,有频繁的数据更新,因此如下所示选择自己指定的唯一id。
八、实时更新数据方案
实时数据更新通过接收数据库的binlog实现。
九、数据一致性解决方案
不一致的原因:
1、按域发行代码
2、网络延迟
3、集群故障
4、vdp、vms丢失数据
解决方案:
1、使用日程安排任务,每天比较3个月以内每天的数据
2、数据不一致时,自动批量同步当天的数据
3、数据不一致,自动发送警告邮件
4、调度任务随时可以手动结束
到现在为止还没有出现不一致的地方