27.4. 分散ガベージコレクション (STABLE)

JGroups クラスター内では、 全てのノードは障害が発生した場合の再送に備えて受け取ったメッセージを全て格納しなければなりません。 しかし、 全メッセージを永久に保存したらメモリがなくなります。 分散ガベージコレクションサービスは、すべてのノードによって読まれたメッセージを定期的に消去し、各ノードのメモリから削除します。 分散ガベージコレクションサービスは JGroups config 要素下の pbcast.STABLE サブ要素に設定されます。 設定例は次の通りです。
<pbcast.STABLE stability_delay="1000"
    desired_avg_gossip="5000" 
    max_bytes="400000"/>
pbcast.STABLE 要素で設定できる属性は以下の通りです。
  • desired_avg_gossip はガベージコレクションが実行される間隔を指定します (ミリ秒単位)。 間隔的なガベージコレクションを無効にするには 0 を設定します。
  • max_bytes はクラスターがガベージコレクション実行を始動させる前に受信する最大バイト数を指定します。 受信バイトを基にしたガベージコレクションを無効にするには 0 を設定します。
  • stability_delay は、 ガベージコレクション実行の最後にノードが STABILITY メッセージを送信する前に適用されるランダム遅延の最大時間 (ミリ秒単位) を指定します。 この遅延により、 STABLE タスクを同時に実行している別のノードが変更を先に送信できるようにします。 max_bytes を併用する場合、 この属性に小さい値を設定する必要があります。

注記

トラフィック量の高いクラスターの場合は max_bytes 属性を設定します。