工作心得之接口数据同步
在开发过程中避免不了调用其他第三方接口,获取数据或者同步数据,以下是在同步数据到第三接口时踩过的坑和需要注意的一些事,前车之鉴,希望通过这次总结可以避免后续继续踩坑。
本次同步数据主要采用resetful接口调用第三方接口把本系统的业务数据同步到第三接口,基本流程如下:
1、书写调用第三方接口的工具类,通过该工具类获取第三方接口的token
2、书写同步业务数据接口,把对应的业务数据传到第三方平台
3、把同步的数据和第三方数据返回的对应关系存储在本地数据库的关联关系表。
以上就是本次数据同步的基本流程了,咋一看如此简单,但是就是如此简单的流程却踩了一个又一个的坑,具体踩坑如下:
1、同步数据没有打印详细的日志文件,导致后期排查错误万分困难
2、同步数据时没有考虑数据量的问题,导致在正式环境上,由于数据量过大,第三方接口频繁调用失败导致同步数据失败
3、同步数据结果的记录表设计字段不全面,确实同步时间,和业务域标识导致,后期排查数据困难。
4、没有考虑实时同步接口的不稳定性,导致部分数据缺失。
5、同步数据接口封装不严谨,没有进行深度重构,导致后续业务维护很难。
针对以上的坑,后续要改了N次bug,重构了N次代码,才算是填满了自己挖的坑,总之,如果后续要做数据同步尽量做到以下几点:
1、同步数据没在关键的节点要打印详细的日志,方便后续排查问题以及维护。
2、同步数据接口要考虑全面,如果数据量过大,要考虑分批同步数据。
3、同步数据结果的记录表设计要全面,尽可能多的记录同步信息,其中同步时间是必不可少的。
4、如果有实时同步的业务场景,要充分考虑系统的稳定性和数据的一致性,尽量考虑设计数据补偿策略。
5、同步数据,尽量把数据封装到实体类中,避免直接操作json字符串,增加后期维护难度。
以上,是我首次同步数据的“血泪史”,希望可以帮助到大家。
工作心得之接口数据同步相关推荐
- 达梦数据库使用心得达梦数据同步软件DMHS
达梦数据库使用心得&达梦数据同步软件DMHS 文章目录 达梦数据库使用心得&达梦数据同步软件DMHS 一.前言 二.达梦数据库安装 步骤 1:运行安装程序 步骤 2:语言与时区选择 步 ...
- excel服务器数据同步修改,excel表格数据同步修改-关于excel不同表格(不同工作簿)之间数据同步修改......
EXCEL表格文档如何数据同步更新 excel中让两份表格实现数据同步的具体步骤如下: 首先打开计算机,在计算机桌面找到excel软件,鼠标左键双击excel的快捷方式以打开软件.然后打开需要进行数据 ...
- SAP工具箱 数据同步平台(九 与PO整合)
点击蓝字 关注我们 一 前言 数据同步平台是在ABAP中开发的一个数据同步工具,类似于LTRC,通过配置实现任意两个数据库的数据同步(ABAP需要配置相关的外部数据库连接). 数据同步平台的底层通过调 ...
- 接口批量同步数据_千手接口平台+电商ERP,助德嵘大药房征战拼多多
拼多多对C端经营者来说,是一个处于红利期的第三方C端电商平台,进驻费比天猫低很多,而且流量成本也低,很多商家都跃跃欲试.但对于没有C端平台运营经验的商家,进驻后会发现几个"坑":客 ...
- 接口推送数据原理_数据同步组件(Canal)在珍爱网的应用与实践
本文作者:珍爱网技术团队 二爷 随着公司业务的不断发展,公司对于实时报表的需求越来越旺盛,原则上来说,实时报表最好的实现方式的通过Spark,storm这类的技术去支撑,由于人手原因,并不能很好的支撑 ...
- python获取计算机信息系统数据罪_工作心得:破坏计算机信息系统罪与非法获取计算机信息系统数据罪的区分...
工作心得: 破坏计算机信息系统罪与非法获取计算机信息系统数据 罪的区分 非法获取计算机信息系统数据罪与破坏计算机信息系统罪的主要区别有以下 两点: (1) 犯罪行为不同.前罪犯罪行为为非法获取数据,后 ...
- Oracle数据同步接口,增量数据从ERP系统到本地临时表封装解决方案
项目的许多基础数据需要从ERP系统中同步基础数据,例如:物料.客户.供应商.仓库等等. 之前做过一次比较死板的标准流程: 1.通过JDBC取ERP系统的增量数据; 2.解析; 3.然后用自己项目的DB ...
- 作为一名新晋码农,以下是我个人的工作心得,希望能帮到刚步入编程殿堂和使用vue-cli和ant-design-vue UI组件库的童鞋们
作为一名新晋码农,以下是我个人的工作心得,希望能帮到刚步入编程殿堂和使用vue-cli和ant-design-vue UI组件库的童鞋们 之前需求总结: 12.29错误总结: 12.30日总结: 12 ...
- Java多线程编程实战:模拟大量数据同步
背景 最近对于 Java 多线程做了一段时间的学习,笔者一直认为,学习东西就是要应用到实际的业务需求中的.否则要么无法深入理解,要么硬生生地套用技术只是达到炫技的效果. 不过笔者仍旧认为自己对于多线程 ...
最新文章
- 修改小程序swiper 点的样式_请问微信小程序swiper切换的点如何修改样式。
- OpenSolaris北京用户组的第一次活动
- Nginx服务学习(6)-日志模块
- 梦中女孩,不知还能不能再见你一面
- 论文小综 | Pre-training on Graphs
- verilog 生成块_如何高效的编写Verilog——终极版
- flask程序打包部署_如何使用Flask构建Web应用程序并将其部署到云中
- [转载] Python数据分析与可视化学习笔记(一)数据分析与可视化概述
- array,集合(collection),集合(list)的区别
- Echart地图的省级,以及所有地市级下载与使用
- VmPlayer 无法启动解决方法一例
- 6. lcd驱动1-硬件原理
- 关于知云文献翻译出现乱码
- 斐讯N1盒子 TTL救砖教程
- 通过锂电池原理来设计BMS系统
- 自建KMS激活服务器
- 【20200207】【lyk】TJOI2019 唱、跳、rap、篮球题解
- android 视频解决方案,短视频SDK升级为短视频解决方案
- 国科大学习资料--人工智能原理与算法-第十三次作业解析(学长整理)
- 智慧建造管理平台施工现场视频监控系统