记得以前开发不过一个流程项目,怕自己忘记了写写
首先说下数据同步:
数据同步一般是为了保证PHP不同进程之间在处理同一事物的同一个流程的时候按照顺序运行,而不是说并发运行。
php 多进程是无法进行通信的,但是,一个流程是可以多个进程同时修改的,一般一个流程如果有5-10步,怎么保证在php一个进程在处理这个流程时候,其他PHP进程不会修改这个流程需要的mysql数据
我采用比较简单的方式,建立一个全局的类和方法,这个方法中设置redis的一个值通过setnx,防止设置失败一般会加一个过期时间
在需要运行同步的代码之前,运行这个上面的方法,如果成功,那么继续流程,完成之后删除上面设置的redis值
如果mysql是一主多从的时候,事物无法管理,如果发现需要事物的时候,主动切换当主机上,目前没有发现更好的方式