Heim  >  Artikel  >  Backend-Entwicklung  >  yii2跨多服务器事物处理?

yii2跨多服务器事物处理?

WBOY
WBOYOriginal
2016-06-06 20:08:241165Durchsuche

开发语言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中间件去代理这些操作

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn