>  기사  >  백엔드 개발  >  yii2跨多服务器事物处理?

yii2跨多服务器事物处理?

WBOY
WBOY원래의
2016-06-06 20:08:241165검색

开发语言PHP、开发框架YII2、数据库mysql(都是硬性条件)
现状:因业务需求,数据库会分布在不同的服务器,服务器之间都有业务往来
问题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中间件去代理这些操作

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.