zoukankan      html  css  js  c++  java
  • es基础搜索服务方案

    一、背景

    公司业务搜索和统计需求非常多,由于查询SQL关联多且复杂,SQL语句把大量业务逻辑和大量计算堆砌到MySQL服务器上,经常导致线上MySQL负载高,随后响应和吞吐量下降,严重影响线上MySQL持续稳定服务,所以各个团队逐步或已经把繁重的查询和统计SQL工作迁移到es上,es架构比较合适查询和统计服务,各个团队做相同事情,影响效率,而且因es需要同步DB加大了DB负担,业务架构团队希望es搜索服务化,1.为服务化,业务解耦提供支撑 2.相同功能接口复用,提高团队开发效率。通过调研数据模型,先服务化online_class和student为主表的查询和统计需求。

    二、目标

    • 针对online_class和student主表,提供统一es存储和查询服务

    三、方案

    1.es存储
    创建数据模型
    es数据模型及服务化思考    重点考虑如何构建简单数据模型能适配核心需求
    数据同步
    初始化全量同步 + 增量同步保证MySQL数据复制到es
     
    可以复用已经有的功能代码,重点考虑如何fork和迁移代码
    2.es查询
     

    四、执行计划

    执行风险:我以前没有使用过es,有人能协助或一起开发最好,不然遇到困难卡住了,会耽误时间,最大风险执行时间可控性较差,未知东西居多。
    方向
    类型
    任务
    优先级
    计划完成时间
    状态
    es存储
    es用法学习
    es语法
    P0
    2018-03-14
       
    es索引、类型、文档、字段
    P0
    2018-03-14
       
    索引、类型创建
    P0
    2018-03-14
       
    简单对象查询
    P0
    2018-03-14
       
    聚合函数功能
    P0
    2018-03-14
       
    可视化操作
    P0
    2018-03-15
       
    API使用
    P0
    2018-03-15
     
    申请环境
    申请测试环境
    P0
    2018-03-15
     
    参考mes项目
    下载代码
    P0 
     2018-03-14
     
       
    与庆虎沟通,了解以下类调研es API用途
    com.vipkid.mes.service.impl
    P0
     2018-03-15
     
     
    验证数据模型可行性
    创建数据模型
       
       
    构造数据
       
       
    写query语句,验证宽表需求
       
     
    确定数据模型
    满足90%需求
       
     
    创建es项目工程
         
               
     
    全量同步工具
    找相关同学沟通,迁移代码
       
       
    测试验证
       
               
     
    增量同步代码
    找相关同学沟通,迁移代码
       
       
    测试验证
       
               
    es查询
     
    clt组整理:宽表需求业务SQL统计  30+
       
           
       
    基础服务组整理:es-api
       
           
     
     

  • 相关阅读:
    JS 随机整数
    微信小程序 功能函数 支付接口
    JS 正则表达式
    JS 日期 自动补齐 “2017-11-22 14:43”
    schema get_ddl
    StringBuffer 清空
    java中split任意数量的空白字符
    美国法官工资
    纪检委,检察院的工资
    国家司法机构
  • 原文地址:https://www.cnblogs.com/lizherui/p/13488043.html
Copyright © 2011-2022 走看看