【问题标题】:Custom hashing function in infinispaninfinispan 中的自定义散列函数
【发布时间】:2018-02-27 14:55:50
【问题描述】:

我使用的是 Infinispan 8.2 版。我已经知道节点何时将条目放入缓存。它使用其内部散列在键上并选择集群中的主节点。

我知道我们可以使用自定义哈希函数覆盖此哈希。但我不知道从哪里开始以及如何开始。我已经搜索了很多文档和网站。但是,没有一个有合适的里面有说明。

我希望有人在这方面帮助我。

提前致谢。

【问题讨论】:

    标签: java distributed-computing infinispan jgroups consistent-hashing


    【解决方案1】:

    如果您谈到确定 hashCode(主要影响映射 Object -> 段),这很容易:

    Hash myHash = ...;
    ConfigurationBuilder cb = new ConfigurationBuilder()
    cb.clustering().hash().hash(myHash)
    

    不要将此与将段映射到实际节点的consistentHash(名称指的是不再使用的旧算法)混淆。你也可以覆盖那个,但要做到这一点可能会很棘手。

    【讨论】:

    • 。是的,我明白你的意思,但我想将段映射到特定节点,所以我需要理解和实现棘手的部分。但我不知道如何......你能帮忙我和那个?请
    • 唯一的方法是读取现有实现的代码,并使用您的 impl 从 testsuite 运行尽可能多的测试(一些测试期望所有权会转移,因此您不能只使用这些) ,为您想要的行为添加一些测试。
    • 第一个问题显然是:如果您的某些预期节点不可用怎么办,您将如何将该段映射到其中一个正在运行的节点?如果数据不在您期望的节点上,您的应用程序将如何运行。
    猜你喜欢
    • 2021-12-24
    • 2013-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-21
    • 2021-10-08
    • 1970-01-01
    相关资源
    最近更新 更多