我正在使用HyperLogLog [ HLL ]评估域服务幂等性的方法。
这种方法的目的是提供确保幂等性的通用方法 不存储大量无用的信息。只有要求 偶尔复制的容忍度(发送2封电子邮件而不是1封)。
在我的场景中,每个服务请求都是带有toHashCode函数的消息对象。算法如下所示:
- 收到请求域名服务后,计算HLL [ S1 ]基数并将其存储为 C1 。
- 请求哈希[ H ]已添加到HLL [ S2 ]的副本中,基数为存储为 C2 。
- 如果 C1 == C2 ,则请求重复,并且应丢弃 S2 。
- 否则将处理请求并将哈希[ H ]添加到HLL [ S1 ]。
醇>
有没有人遇到类似的解决方案? (如bloom filter)
这种解决方案的缺点是什么?