首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

怎么实现Web Service的Idempotency

2012-08-26 
如何实现Web Service的Idempotency摘自《SOA In Practice》一个Service执行一次请求产生的结果,如果跟执行多

如何实现Web Service的Idempotency
摘自《SOA In Practice》

一个Service执行一次请求产生的结果,如果跟执行多次同样的请求产生的结果相同,则可以说这个Service满足了Idempotency

1. Reading Service都是Idempotent
2. "update bonus = 100 where id = 3" 是Idempotent
3. "update bonus += 100 where id =3 " 不是Idempotent --- 操作结果依赖数据原先状态的Service都不是Idempotent
    为了把这种Service变成 Idempotent,应该遵守这样一种契约:Consumer的请求里应该有一个RequestId, 重发时仍然使用同样的RequestId; Provider收到请求后要将RequestId存起来,如果新请求的RequestId已经存在了,就不要再执行相应的操作。
  

热点排行