likes
comments
collection
share

一种接入第三方数据的中间服务设计方案🕶️

作者站长头像
站长
· 阅读数 66

前言

在我们工作中,经常会遇到这样的场景,与第三方系统对接,并同步数据。每次遇到这种系统,我的表情可不就是下图?

一种接入第三方数据的中间服务设计方案🕶️

解决这种需求,总是免不了各种各样的接口调用,为了一劳永逸,我决定设计一个中间服务,用于同步和分发第三方数据。

架构图

一种接入第三方数据的中间服务设计方案🕶️

数据库设计

一种接入第三方数据的中间服务设计方案🕶️

    

同步思路

首次推送

在推动时,我们会往sync_data_post_log 推送记录表插入一条推送数据,此条数据存储本次推送的所有报文。

sync_data已同步数据表存储单条数据

sync_data_log同步数据操作记录表存储单条数据 的操作日志以及同步失败的错误信息

一种接入第三方数据的中间服务设计方案🕶️

第二次推送

一种接入第三方数据的中间服务设计方案🕶️

接口设计

POST /datasync/v1/sync

Body 请求参数

{
    "Parameters": [
        {
            "id": "100001",
            "name": "张三",
            "key": "20003510",
            "info": "test post message",
      
        }
    ]
}

请求参数

名称位置类型必选说明
bodybodyjson

返回结果

成功结果

{
    "result": "S",
    "msg": "成功
}

失败结果

{
    "result": "F",
    "msg": "同步数据失败",
    "datas": [
        {
            "id": "663567440684519424",
            "status": "0",
            "msg": "数据不存在!"
        },
        {
            "id": "数据的唯一标识_ID",
            "status": "0",
            "msg": "失败原因"
        }
    ]
}

系统异常结果

{
    "result": "E",
    "msg": "系统错误"
}
状态码状态码含义说明数据模型
S成功!成功json
F导入失败!导入失败,失败数据存在返回datas中json
E服务错误!服务错误!请联系管理员json

返回数据结构

名称类型必选约束说明
» resultstringtruenone标识
» msgstringtruenone消息
» datasarrayfalsenone错误数据list
»» idstringtruenone数据id
»» statusstringtruenone0:失败,1:成功
»» msgstringtruenone失败原因

未完待续..既然看到这里了,不妨来个大大的点赞吧一种接入第三方数据的中间服务设计方案🕶️

转载自:https://juejin.cn/post/7159431479288659975
评论
请登录