【问题标题】:Warm Start of Cache缓存热启动
【发布时间】:2016-07-07 13:21:56
【问题描述】:

1. 启动 ignite 缓存时,从持久存储中完成时的性能如何?在热启动时启动缓存的首选方法是什么?有没有什么办法可以通过文件转储然后启动缓存来完成,这会比从持久存储中更快吗?

2.如果 ignite 服务器宕机,如何建立索引?

3.如果它被重建,那么我们有什么办法可以避免这种开销?堆外存储会相对较慢。

【问题讨论】:

    标签: ignite


    【解决方案1】:
    1. 有两种方法可以从持久存储中加载大量数据:使用IgniteDataStreamer 和通过CacheStore 实现。详情请参阅[1]。 CacheStore 可以提高性能,尤其是分区感知方法,但IgniteDataStreamer 也可以用于在同时执行其他缓存操作的同时连续流式传输数据。 Ignite 不支持转储到文件,但 GridGain 提供了一个企业级功能来执行此操作 [2]。
    2. 在这种情况下不会重建索引。如果您有备份,则会为它们以及主条目维护索引,因此如果节点发生故障,则不会丢失任何内容。
    3. 正如我在 2 中提到的,在节点故障的情况下不会重建索引。

    [1]https://apacheignite.readme.io/docs/data-loading

    [2]https://gridgain.readme.io/docs/local-recoverable-store

    【讨论】:

    • 我目前已经实现了一个 cachestore loadcache 来进行热启动,但它再次来自持久存储,这可能不是启动缓存的最快方式。
    • 所有节点的所有备份中的索引是否“重复”以避免扫描索引,然后了解哪些索引属于特定节点?
    • 是的,索引被复制以支持故障转移。如果一个节点发生故障,您不会丢失数据以及该数据的索引。
    猜你喜欢
    • 2017-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多