如浙江变成上海
前几天对接的同事因为没有时间,所以整个上传文件的流程除了对接接口这块,其它的我先开发完成了。今天对接接口,同事说使用接口传输,数据措置惩罚惩罚时间约莫需要7、8s,接口回应时间太长了。然后我提出了异步对接的思路:使用kafka进行传输。
方案1为之前接口传输的方案,方案2为新的异步传输的模式。
方案1:接口对接 文件格局上传格局:gz(csv文件进行gz压缩)
解压后的csv编码:UTF-8(因为上传的原文件是utf-8)
解压后的csv格局进行校验:第二列为Mobile,第三列Province,第四列City,第六列为AreaCode
(需要用gzdecode进行解压文件获取数据) 传参filename :上传到fastdfs的文件名
handle:1为措置惩罚惩罚文件,0为查验文件
encoding: UTF-8
回参格局:json数组格局
第一维键名分袂为:handle(查验还是措置惩罚惩罚,查验是0,措置惩罚惩罚是1), add(新增),diff(不一致),del(需要删除,但未删除)
不一致的,对应挨次:旧数据=>新数据,如浙江酿成上海,则浙江=>上海
举例:
array( ‘handle‘=>1, ‘add‘=>array( 0=>array( ‘code‘=>1807273, ‘province‘=>‘浙江‘, ‘area‘=>‘杭州‘, ‘at_id‘=>‘123‘, ), 1=>array( ‘code‘=>1521465, ‘province‘=>安徽, ‘area‘=>‘安庆‘, ‘at_id‘=>‘878‘, ), ), ‘diff‘=>array( 0=>array( ‘code‘=>132456, ‘province‘=>‘浙江=>河南‘, ‘area‘=>‘杭州=>信阳‘, ‘at_id‘=>‘878=>598‘, ), ), ‘del‘=>array( 0=>array( ‘code‘=>132456, ‘province‘=>‘浙江‘, ‘area‘=>‘杭州‘, ‘at_id‘=>‘587‘,非好友qq空间权限破解 , ), ), ) 方案2:kafka队传记输 1、catmanager上传文件告成后,将fastdfs的文件地点通过kafka队传记输给接口中心,接口中心通过常驻脚本消费kafka进行数据获取和措置惩罚惩罚 2、然后接口中心措置惩罚惩罚完成后,将措置惩罚惩罚功效上传到fastdfs,再将文件地点通过fastdfs传输给项目后台,后台也是用常驻脚本消费 3、传输格局:和方案1不异,每个参数用json数组传输上传文件流程对接
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/29296.html