【问题标题】:Durable queue configuration in TerracottaTerracotta 中的持久队列配置
【发布时间】:2009-06-10 12:01:42
【问题描述】:

有谁知道如何在 Terracotta 服务器上正确配置持久队列?

Terracotta 将服务器上的集群对象存储在文件中,并以仅追加的方式将数据写入它们。我想控制如何以某种方式清除这些内部数据。我有多个密集型应用程序,它们使用由 Terracota 集群的常见 ehcache 实例。有些线程正在放置数据,其他线程正在读取和删除。我们的硬盘不是由橡胶制成的... AFAIK )) Terracotta 是否从磁盘中清除已删除的缓存项目,默认行为是什么,配置选项等?谢谢,提前

【问题讨论】:

  • 我想我已经找到了我一直在寻找的答案: >> 每个 Terracotta 服务器实例都运行一个垃圾收集算法来确定哪些集群对象不再可引用并且可以安全地从内存中删除和服务器实例的磁盘存储这意味着一旦持久队列被分布式垃圾收集过程删除,持久队列就会自动清除。据我了解,不需要对持久队列进行特殊调整。

标签: scalability ehcache terracotta


【解决方案1】:

任何由 Terracotta 聚类的对象都是持久的。

因此,一旦您对队列进行集群,它就会是持久的。集群数据结构引用的每个对象也是持久的,因此您放置在队列中的任何消息都是持久的。

如果您的意思是使其持久化到磁盘,则此设置由持久性模式控制。有关详细信息,请参阅configuration reference guide

放置到集群内存中的对象被垃圾回收 - 与 Java 堆中的对象被垃圾回收的原理相同。一旦对一个对象的所有集群引用都被清除,分布式垃圾收集器就可以清除一个对象。该过程称为distributed garbage collection

您可以使用developer console 监控集群堆中的对象数量,以及每次分布式垃圾回收 (dgc) 运行的详细信息,以及调用 dgc 运行。

【讨论】:

    猜你喜欢
    • 2011-10-12
    • 2018-01-09
    • 2011-02-21
    • 2015-11-21
    • 2023-04-05
    • 2016-01-28
    • 2012-03-08
    • 2017-06-28
    • 1970-01-01
    相关资源
    最近更新 更多