# 在线业务迁移查询服务到ElasticSearch

2021-07-14 14:49:42 浏览数 (1)

随着业务数量的增大,部分批量查询会导致数据库的慢查询(已经增加了索引),比如模糊搜索等,所以准备迁移到ElasticSearch

要求

  • 平滑迁移,不影响用户使用
  • 为了降低风险,接口会逐个切换
  • 减少测试工作量

方案

数据同步方案

  • 使用Flink SQL CDC迁移MYSQL数据到ES

业务升级方案

  • 平行请求再对比: 这样的方式可以减少测试工作量,不需要测试肉眼对比查询结果是否一致
  • 设置不同的工作模式,而且支持动态切换(结合配置中心)
    • MYSQL: 只访问MYSQL,
    • ES: 只访问ES
    • FAST: 两个都访问,哪个先返回则使用其结果
    • RETURN_SQL_WITH_CHECK: 使用MYSQL的结果,但是会对比ES,如果有不一致则需要输出到日志,方便后续分析(可以异步ES结果对比)
  • 工作模式可以精确到一个查询接口
    • 接口名字使用分段式
    • 工作模式可以分段式配置,可以简化配置
  • ES只能是只读,避免意外修改数据

参考

  • Flink SQL CDC 实践以及一致性分析

0 人点赞