美文网首页
订单查询改造

订单查询改造

作者: java_飞 | 来源:发表于2020-11-03 19:57 被阅读0次

情景:

订单量的日益增长,以及他复杂的查询纬度导致后台管理以及用户端查询订单接口耗时严重,遂对订单查询相关接口进行改造。

具体方案:

从底层进行优化,对订单进行es改造,查询订单直接通过es索引进行查询,查询到具体数据后,在通过主键id进行单表查询,组装数据

面临的问题:

1.如何进行索引同步?
2.如何保证索引数据准确?
3.如何进行数据补偿?
4.如何进行接口改造?
5.如何对原有数据进行初始化索引?

解决:

问题1:
通过canal监听主表发送消息到mq中,然后消费消息进行数据同步;

问题2:
对消息进行补偿,以及报警,接收到消息,发现后续部分数据不准确时,发送延迟消息进行消费,后续仍旧不准确时进行短信或者邮件等其他方式的报警;

问题3:
创建定时任务,每天晚上凌晨1:00左右对前一天的数据做一个批量刷新;

问题4:
针对现有接口进行索引字段的创建,逐步替换老接口,不修改原有代码,新增接口进行替换,将原有接口内的循环查库全部更改为批量查询;

问题5:
通过多线程的方式将数据进行分页查询并发的去创建索引,分页方式使用类似瀑布流下拉的方式,加快查询速度,(200W数据,10个线程,50分钟左右);

具体方案: image.png

相关文章

  • 订单查询改造

    情景: 订单量的日益增长,以及他复杂的查询纬度导致后台管理以及用户端查询订单接口耗时严重,遂对订单查询相关接口进行...

  • 2.2.1 单号查询

    系统支持按单号查询订单,支持查询订单详情、以及订单的完整流转记录。

  • 淘客订单检测接口--检测淘宝订单是否是淘客订单的接口

    在线淘客订单,输入宝贝订单号 淘客订单检测主要利用订单号查询是否为淘客订单,直接查询无需扫码,下单后就能查询是否淘...

  • 高级映射-一对多查询-多对多查询

    一 一对多查询-概述 1 需求 查询订单及订单明细 2 sql语句: 确定主查询表:订单表 orders 确定关...

  • 嵌套集合查询

    trade为订单主表trade_order 为子订单要查询根据订单子表里面的字段查询

  • 11.订单管理模块

    订单管理模块前台用户包括4个模块:创建订单、取消订单、查询订单明细、查询订单List。后台管理员模块主要有四个模块...

  • 武汉新宁运维文档

    常见问题: Q: 某个订单存在机器人未去搬箱子 A: 根据任务号查询订单ID; 查询到订单ID: 76562 根据...

  • 订单中心,1亿数据架构,分表设计方案

    订单中心,典型业务查询需求有哪些? 第一类,前台访问,最典型的有三类需求:(1)订单实体查询:通过oid查询订单实...

  • 「Mybatis系列」Mybatis高级应用

    1. 关联查询 举例:因为一个订单信息只会是一个人下的订单,所以从查询订单信息出发,关联查询用户信息为一对一查询。...

  • MongoDB联表查询

    创建表user、order 查询 联表查询 拆分orders 分组求和并返回字段数据 查询用户的订单信息(订单id...

网友评论

      本文标题:订单查询改造

      本文链接:https://www.haomeiwen.com/subject/ofuivktx.html