0
我有一个MySQL数据库产品的价格,从现在开始,我想与这些值同步另一个数据库,但这个其他数据库不在我的服务器上,我只能通过web服务更新它...以原子方式调用Web服务?
有没有办法让这两个操作(更新我的数据库和调用Web服务的其他数据库更新)原子?我不想知道某一天,当服务器尝试调用Web服务来更新它时,第二个数据库已关闭,因此它不具有与当前数据库相同的值。顺便说一下,我使用的是PHP。
非常感谢。
我有一个MySQL数据库产品的价格,从现在开始,我想与这些值同步另一个数据库,但这个其他数据库不在我的服务器上,我只能通过web服务更新它...以原子方式调用Web服务?
有没有办法让这两个操作(更新我的数据库和调用Web服务的其他数据库更新)原子?我不想知道某一天,当服务器尝试调用Web服务来更新它时,第二个数据库已关闭,因此它不具有与当前数据库相同的值。顺便说一下,我使用的是PHP。
非常感谢。
你这些问题的答案可以帮助思考的最佳解决方案 -
或者是像个别价格可以编辑和相同的变化对任取两个效应或没有(如果第2个服务器关闭)?
你想做些什么的情况下做第二个服务器坏了,回滚第一台服务器上的变化?
如果Web服务提供回应 - 无论是否成功更新其产品价格,事情都非常简单。这里是使其显得原子的一种方式 -
price_backup
并在所有项目的价格都存储在表lock_item
。lock_item
= true
,使得项目不能在该时间期间(以防止inconsistensies)购买。price_backup
字段中,然后调用Web服务来更新并检查响应。lock_item
,或者干脆复位锁定。该方法确保跨服务器相同的值。但是,可能会有更好的方法