【发布时间】:2011-12-13 21:39:47
【问题描述】:
我有一个在 azure webfarm 中运行的 REST Web 服务,我需要防止重放附加。
每个请求在几分钟内都包含一个唯一的Cryptographic nonce(一个只允许使用一次的令牌)。
现在我使用一个数据库来创建一个以 nonce 作为主键的条目。这意味着如果一个网络服务器可以在数据库中插入该行,我确信没有其他网络服务器接收到具有相同随机数的请求。实际上我使用表存储(以 rowkey/partitionkey 作为主键)...而不是 SQL Azure。
我的问题是表存储速度很慢(插入一行很容易需要 20-30 毫秒),我正在寻找更快的解决方案。
.NET 是否有分布式共享事务内存库?重要的是我不会引入单点故障(例如,在一台服务器上运行内存数据库)。
奖励:因为这是在 Azure 中运行的,所以我不知道我的服务器的名称或 IP 地址,而且 webfarm 中的服务器数量经常变化。
【问题讨论】: