product-is icon indicating copy to clipboard operation
product-is copied to clipboard

[Feature] Pluggable cache implementation replacing Hazelcast based Cache

Open ruwanta opened this issue 6 years ago • 1 comments

Currently IS (and Carbon4.x) based products uses Hazelcast for underlying cache implementation. It has been made less reliant on Hazelcast distributed cache (Kernel 1833).

However it still relies on Hazelcast for Invalidation message sending when a local cache is used. No invalidation message means a cache entry in one node will not be invalidated due to change done by another node.

It is a good improvement to remove this hard dependency on Hazelcast on caching layer. Here are few (not exhaustive list of) problems need to be solved.

  1. Change underlying cache (kernel 4) layer to accept different ached implementation
  2. Pluggable cluster node discovery mechanism. Currently Hazelcast abstract almost all cluster discovery (e.g. WKA, AWS, K8S, Multicast, ECS, etc.). Need to find a rich abstraction layer similar to that provided by Hazelcast.
  3. Pluggable cluster messaging mechanism. IS used cluster messages for triggering artifact deployment and synchronization. We may remove the artifact deployment/sync mechanism altogether so that this requirement will not be needed. (BTW, artifact deployment/sync is not advisable in container world)

Related [#1781][#1855]

ruwanta avatar Jan 28 '19 01:01 ruwanta