【问题标题】:How to maintain a distributed HashMap in Apache Storm Cluster如何在 Apache Storm Cluster 中维护分布式 HashMap
【发布时间】:2018-05-19 01:54:20
【问题描述】:

我们在 Apache Storm 中有一个用例,我们需要从源系统获取数据,然后对收到的元组执行一些操作,但还想在数据库中查找数据。但是每次对数百万条记录进行数据库调用是不可行的。 那么有没有一种方法可以在启动时加载分布式哈希映射,当元组在 Bolt 或 Spout 中处理时,首先查找此哈希映射,如果 HashMap 中不存在该值,则进行数据库调用并更新对应的地图应该可以通过。

【问题讨论】:

    标签: apache-storm apache-storm-topology


    【解决方案1】:

    没有任何内置的东西(即不运行外部服务)可供整个拓扑访问,因为您的螺栓可能会在不同的 JVM 甚至不同的主机上运行。如果您需要分布式缓存,请查看 Redis https://redis.io/ 之类的内容。

    你可能想看看https://storm.apache.org/releases/2.0.0-SNAPSHOT/State-checkpointing.html,API 应该可以做你想做的,并且支持 Redis 集成。如果你不需要 checkpointing 功能,当然也可以直接使用 Redis。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-17
      • 2023-03-29
      • 2022-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-02
      • 2015-11-20
      相关资源
      最近更新 更多