首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何跨多个服务器使用Bloom Filter?

如何跨多个服务器使用Bloom Filter?
EN

Stack Overflow用户
提问于 2016-01-01 01:08:16
回答 1查看 621关注 0票数 1

我有50个EC2实例都在web上爬行。现在他们在后台使用Redis来跟踪已经被抓取的URL;然而,ElastiCache变得成本高昂,我一直在遇到打开太多连接的问题。我一直在考虑将Bloom filter作为后端实现,但我不明白如何才能让所有50台服务器共享相同的bloom Filter。我不希望每个人都有自己独立的布隆过滤器,否则他们基本上都在做相同的任务。

EN

回答 1

Stack Overflow用户

发布于 2019-08-28 18:41:23

你仍然可以使用Redis来跟踪已经被集中处理/抓取的url,但是通过使用RedisBloom (redisbloom.io)的bloom filter来减少内存占用。RedisBloom是一个Redis Module,它扩展了Redis的几种概率数据结构。

备注:

  • 如果单个布隆过滤器对于单个碎片来说会变得太大或吞吐量太高,您可以考虑在这种情况下使用多个布隆过滤器,这些布隆过滤器可以分布在Redis集群中,并在客户端计算适当的过滤器(键)。
  • 您可能希望this issue请求布隆过滤器中的项目随着时间的推移过期,从而允许您在给定时间后重新访问url。
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34549442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档