【问题标题】:hazelcast distributed id generationhazelcast 分布式 id 生成
【发布时间】:2015-06-26 15:34:25
【问题描述】:

Hazelcast 具有内置的分布式 id 生成器,如 http://docs.hazelcast.org/docs/latest/manual/html/idgenerator.html 所述。挑战在于,每当缓存服务器重新启动时,序列就会丢失并从零重新启动。作为一种解决方案,他们尝试提供一个 init 函数,该函数可以从特定的 int 开始 id。使用它来实现连续 id 生成没有冲突的最佳方法是什么,即使在服务器重新启动后仍会持续并提供最佳性能。

【问题讨论】:

    标签: sequence distributed hazelcast


    【解决方案1】:

    是的,您可以保留 ID 并将其设置为节点重新启动后的最后一个值。根据您对连续 ID 的需求,您可能希望查看另一个工作方式不同的外部(我的)项目 https://github.com/noctarius/snowcast

    【讨论】:

    • 这是在处理 hazelcast 服务器重启时 id 重置的风险。是否需要进行任何配置/编码才能遵守。
    • 由于 ID 的上半部分是时间戳,因此重新启动时不会重置 ID。这意味着您没有真正连续的 ID,但您有支持排序的唯一 ID。如果您阅读 snowcast 的文档,您会了解它是如何工作的。对于 Hazelcast 中的 IdGenerator,如果你从数据库中重新加载 ID 显然它也可以工作。
    猜你喜欢
    • 1970-01-01
    • 2015-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-09
    • 2018-05-05
    • 1970-01-01
    相关资源
    最近更新 更多