代码逻辑不知道怎么设计
最近在开发中碰到一个问题,不知道要怎么设计逻辑比较好。希望有大佬可以帮忙提个建议。
就是在一个接口里面,我需要 请求多个第三方接口,同时根据第三方接口更新数据库。
(1)如果把第三方接口放到数据库事务里面,会导致事务执行时间太长,性能会有问题。
(2)如果把第三方接口请求放到事务外面,又没法跟数据库事务保持一致。并且如果第三方接口执行了,但是数据库事务挂了,也是麻烦。
伪代码如下:
$api = new zfb();
$db = new db();
$db->begin();
try {
$res1 = $api->query(xxx);
$db->update($res1);
$res2 = $api->query2(xxx);
$db->update($res2);
$db->commit();
} catch (\Exception) {
$db->rollback();
}
推荐文章: