我有一个SOA应用程序,我想在服务层上加入一些幂等机制。我正在使用WCF进行消息传递。
您如何处理应用中的幂等性?你有一些示例代码吗?我的目标是防止同一个消息(例如CreateOrder)被多次处理(如果这样配置)。
答案 0 :(得分:1)
idempotency不是关于检测和停止正在处理两次的消息。它更多地与处理2次或更多次的消息有相同的副作用。因此,我只需要一个可以插入和更新的Store操作,而不是Append / Create / Update操作。
因此,在您的CreateOrder示例中,只需让客户端传递一个guid,如果服务不存在,将会插入该guid,如果存在则更新。