You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Introduction

Summary of findings and ideas for cache configuration for JR clustered installations.
GREYConsidering options for advaning cache implementation to behave correctly in clustered env.GREY

Probably enterprise only_ feature.

This concept is based on issue MGNLADVCACHE-10@jira found while testing clustering and subsequent discussion.

EHCache

EHcache supports clustering.
Considerations for using EHcache clustering support:

  • public instances would need to know each other (IP), making public instance configuration more complicated ... the author will have only one subscriber, but public that will be such subscriber would need to know about all other public instances ... what would happen if such public goes down ... would need to figure out which of the cache slaves will become master and change subscriber on the author to that master
  • the cache configuration would need to be different based on cluster configuration - full vs. partial clustering vs. partial clustering (specially if author itself participates in the cluster)
  • solves the issue only for EHcache, making initial barrier for implementing other underlying cache for Magnolia even more difficult.

Magnolia cache

Considerations for advancing current cache implementation:

  • instances participating in the cluster are already bound together by JR journalling and only events related to clustered workspaces are propagated across cluster, no extra config necessary
  • there is mechanism in place for instructing the cache (Flush policy) which works well in clustered environment
  • the Flush Policy is already implemented for flushing all the content (and used for activation)
  • new flush policy for flushing single only items would have to be implemented
  • The advanced caching techniques manipulating cache items directly would need to be rewritten to use Observation for all cache manipulation to ensure events are propagated across cluster
  • New method (since 4.1) for flushing single page from cache would need to be changed to use single page flush policy instead of retrieving cache instance and removing content directly
  • No labels