并发请求第三方同步数据问题

badman

问题描述

我们本地数据库data_account表大概有个2W个账号,其中账号有个认证状态,和使用数据量需要同步第三方数据(分别叫做接口A和接口B),现在我需要每1分钟都去同步这2W个账号的认证状态和对应账号的数据使用量,然后更新数据到本地mysql数据表。第三方有限制并发请求不能超过50。

为此你搜索到了哪些方案及不适用的原因

百度了一圈,都是建议用Go之类的,因为不懂Go,然后大概用了下别人python代码(每次并发50),发现老是出现:2013 (HY000): Lost connection to MySQL server during query,用了连接池也没解决。所以问问workerman是否有相关实现方案。

573 1 0
1个回答

TM

开消费队列去请求就好了,不能超过50并发的话?那你这样一分钟查不完2W个账户的信息吧

  • tanhongbin 2024-07-26

    每秒50并发 ,你是如何在60秒内处理完2W的数据的 ,你最多也就处理3000呀

  • badman 2024-07-26

    我用swoole测试一分钟能同步1500个号码左右

  • icyou66 2024-07-27

    python连接数据库确实容易出现2013错误。
    建议解决方法一:
    连接数据库后所有请求都用这一个connect。不同的请求使用不同的cursor。

    建议解决方法二:
    使用python的asyncio协程+aiomysql效果比pymysql好一些,高并发数据请求现在基本上都会用asynciod的。但学习成本比threading大。

    建议解决方法三:
    使用php连接数据库,python直接访问该php做成的简易接口。从而实现查询和更新mysql,效果比python直连MySQL稳定许多。

×
🔝