yii2跨多服务器事物处理?
程序员文章站
2022-04-14 11:48:32
...
开发语言PHP、开发框架YII2、数据库mysql(都是硬性条件)
现状:因业务需求,数据库会分布在不同的服务器,服务器之间都有业务往来
问题1:yii2并发多服务器,但php不支持夸服务器事物处理,如何保证数据的准确性
问题2:yii2修改三条数据,三条数据分别在三台服务器上,处理时间居然达到了15秒,单个操作很正常。yii2的数据库是动态连接的。
问题3:在满足硬性条件上,请高手给予解决方案。
现状:因业务需求,数据库会分布在不同的服务器,服务器之间都有业务往来
问题1:yii2并发多服务器,但php不支持夸服务器事物处理,如何保证数据的准确性
问题2:yii2修改三条数据,三条数据分别在三台服务器上,处理时间居然达到了15秒,单个操作很正常。yii2的数据库是动态连接的。
问题3:在满足硬性条件上,请高手给予解决方案。
回复内容:
开发语言PHP、开发框架YII2、数据库mysql(都是硬性条件)
现状:因业务需求,数据库会分布在不同的服务器,服务器之间都有业务往来
问题1:yii2并发多服务器,但php不支持夸服务器事物处理,如何保证数据的准确性
问题2:yii2修改三条数据,三条数据分别在三台服务器上,处理时间居然达到了15秒,单个操作很正常。yii2的数据库是动态连接的。
问题3:在满足硬性条件上,请高手给予解决方案。
1、如果Yii同时连接多个不同的数据库,那么对比起,这种你除了异步队列来加速没什么好办法,如果是一主多从,Yii在执行事务的时候回始终在主上面执行SQL;
2、同上
3、你可以考虑一主多从的模式,执行事务很快。如果是三个不同的业务系统,并且要求数据必须是实时的话,呵呵。我可以把执行时间假设为0,光算连接时间,不可接受。。。
yii2修改三条数据,三条数据分别在三台服务器上,处理时间居然达到了15秒,单个操作很正常
是否有相关数据来定位排查问题。你可以试着定位一下,到底问题在哪里。
可以考虑用队列拆分业务。
架构有问题,PHP写入MYSQL,写入哪台mysql不是由PHP去做的,用MYSQL中间件去代理这些操作