[
https://issues.apache.org/jira/browse/ATLAS-2948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16698387#comment-16698387
]
Franco commented on ATLAS-2948:
-------------------------------
*Advantages:*
1) Having a pluggable implementation means you can have a NoopCache for
performance and other types of testing.
2) Ensures that you always have consistent, best practice cache behaviour e.g.
concurrency.
3) Allows you to swap out a cache implementation with something faster or
better e.g. an off heap cache.
*Use cases:*
1) Horizontal scalability. It would be useful to be able to deploy Atlas in an
auto scaling group but we can't because it is stateful. Being able to point the
caches at say Redis would allow it to horizontally scale with no consistency
issues.
2) Recovery. During recovery scenarios we want the cache to be warm when we
switch between instances. Having something like Redis, Memcache etc would allow
for that.
3) Large Number of Typedefs. We want to have a very large number of typedefs
which would cause instability due to GC as everything would be on-heap.
I am more than happy to submit a patch for review. Just wanted to make sure the
core team wasn't against it.
> Cache implementations should be consistent and configurable
> -----------------------------------------------------------
>
> Key: ATLAS-2948
> URL: https://issues.apache.org/jira/browse/ATLAS-2948
> Project: Atlas
> Issue Type: Improvement
> Components: atlas-core
> Affects Versions: trunk
> Reporter: Franco
> Priority: Major
>
> Throughout Apache Atlas caches are hardcoded. For example:
> (1) AtlasTypeRegistry has a TypeDef cache which is a ConcurrentHashMap
> (2) RequestContext has an entity cache which is a Map
>
> Instead there should be a standardised Cache implementation across the board
> that is pluggable so that users can try a different approach e.g. use Redis
> to help with Atlas outages. Or maybe something like Ignite to allow for Atlas
> to be clustered.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)