[ 
https://issues.apache.org/jira/browse/FINERACT-880?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Vorburger updated FINERACT-880:
---------------------------------------
    Description: 
The Kubernetes deployment contributed in FINERACT-783 by default creates a 
Kubernetes Deployment with a single Pod (based on Fineract's Docker Compose 
set-up).

The goal of this issue is to investigate what is missing to make it possible to 
"scale horizontally" by increasing the number of replicas.

For example, I believe Fineract code caches certain things? I'm not clear if 
they are enabled or disabled by default. Such caches typically do not "just 
work" if you scale the Kubernetes deployment, because they will cause "cache 
inconsistencies", unless the caches collaborate to invalidate entries when 
appropriate. This probably need some configuration.  Some references:
 * Log about some EhCache configuration when Fineract starts
 * 
[cache.xml|https://github.com/apache/fineract/blob/develop/fineract-provider/src/main/resources/META-INF/spring/cache.xml]
 and 
[ehcache.xml|https://github.com/apache/fineract/blob/develop/fineract-provider/src/main/resources/META-INF/spring/ehcache.xml]
 in Fineract source code
 * [package 
org.apache.fineract.infrastructure.cache|https://github.com/apache/fineract/tree/develop/fineract-provider/src/main/java/org/apache/fineract/infrastructure/cache]
 in Fineract source code
 * [~kumaranath_fernando] ([~kumaranathfernando] ?)'s GSOC 2018 
[proposal|https://cwiki.apache.org/confluence/display/FINERACT/Google+Summer+Code+2018+-+Scalability+and+performance+improvements]
 and [final 
report|https://cwiki.apache.org/confluence/display/FINERACT/GSOC+2018+Final+Report-+Scalability+and+performance+improvements]
 * [~apremalal]'s GSOC 2013 work about caching: [YouTube 
demo|https://www.youtube.com/watch?v=30X-uHo5MDg], [Mifos.org 
blog|https://mifos.org/blog/meet-2013-google-summer-code-class-interns/],
 * "Data Layer" on 
[https://cwiki.apache.org/confluence/display/FINERACT/Key+Design+Principles]

I personally do not know the details about caching in Fineract. We should 
either fine existing create new documentation about this.  It would be worth to 
reach out to the mailing list to start a discussion and get input on what is 
required to make this work. 

FYI [~xurror], [~awasum], [~angeh]

  was:
The Kubernetes deployment contributed in FINERACT-783 by default creates a 
Kubernetes Deployment with a single Pod (based on Fineract's Docker Compose 
set-up).

The goal of this issue is to investigate what is missing to make it possible to 
"scale horizontally" by increasing the number of replicas.

For example, I believe Fineract code caches certain things? I'm not clear if 
they are enabled or disabled by default. Such caches typically do not "just 
work" if you scale the Kubernetes deployment, because they will cause "cache 
inconsistencies", unless they caches collaborate to invalidate entries when 
appropriate, and thus probably need some configuration...  some references:
 * Log about some EhCache configuration when Fineract starts
 * 
[cache.xml|https://github.com/apache/fineract/blob/develop/fineract-provider/src/main/resources/META-INF/spring/cache.xml]
 and 
[ehcache.xml|https://github.com/apache/fineract/blob/develop/fineract-provider/src/main/resources/META-INF/spring/ehcache.xml]
 in Fineract source code
 * [package 
org.apache.fineract.infrastructure.cache|https://github.com/apache/fineract/tree/develop/fineract-provider/src/main/java/org/apache/fineract/infrastructure/cache]
 in Fineract source code
 * [~kumaranath_fernando] ([~kumaranathfernando] ?)'s GSOC 2018 
[proposal|https://cwiki.apache.org/confluence/display/FINERACT/Google+Summer+Code+2018+-+Scalability+and+performance+improvements]
 and [final 
report|https://cwiki.apache.org/confluence/display/FINERACT/GSOC+2018+Final+Report-+Scalability+and+performance+improvements]
 * [~apremalal]'s GSOC 2013 work about caching: [YouTube 
demo|https://www.youtube.com/watch?v=30X-uHo5MDg], [Mifos.org 
blog|https://mifos.org/blog/meet-2013-google-summer-code-class-interns/],
 * "Data Layer" on 
[https://cwiki.apache.org/confluence/display/FINERACT/Key+Design+Principles]

I personally do not know the details about caching in Fineract. We should 
either fine existing create new documentation about this.  It would be worth to 
reach out to the mailing list to start a discussion and get input on what is 
required to make this work. 

FYI [~xurror], [~awasum], [~angeh]


> Fineract Caches & Kubernetes Deployment
> ---------------------------------------
>
>                 Key: FINERACT-880
>                 URL: https://issues.apache.org/jira/browse/FINERACT-880
>             Project: Apache Fineract
>          Issue Type: Improvement
>            Reporter: Michael Vorburger
>            Priority: Major
>              Labels: kubernetes, scalability, technical
>
> The Kubernetes deployment contributed in FINERACT-783 by default creates a 
> Kubernetes Deployment with a single Pod (based on Fineract's Docker Compose 
> set-up).
> The goal of this issue is to investigate what is missing to make it possible 
> to "scale horizontally" by increasing the number of replicas.
> For example, I believe Fineract code caches certain things? I'm not clear if 
> they are enabled or disabled by default. Such caches typically do not "just 
> work" if you scale the Kubernetes deployment, because they will cause "cache 
> inconsistencies", unless the caches collaborate to invalidate entries when 
> appropriate. This probably need some configuration.  Some references:
>  * Log about some EhCache configuration when Fineract starts
>  * 
> [cache.xml|https://github.com/apache/fineract/blob/develop/fineract-provider/src/main/resources/META-INF/spring/cache.xml]
>  and 
> [ehcache.xml|https://github.com/apache/fineract/blob/develop/fineract-provider/src/main/resources/META-INF/spring/ehcache.xml]
>  in Fineract source code
>  * [package 
> org.apache.fineract.infrastructure.cache|https://github.com/apache/fineract/tree/develop/fineract-provider/src/main/java/org/apache/fineract/infrastructure/cache]
>  in Fineract source code
>  * [~kumaranath_fernando] ([~kumaranathfernando] ?)'s GSOC 2018 
> [proposal|https://cwiki.apache.org/confluence/display/FINERACT/Google+Summer+Code+2018+-+Scalability+and+performance+improvements]
>  and [final 
> report|https://cwiki.apache.org/confluence/display/FINERACT/GSOC+2018+Final+Report-+Scalability+and+performance+improvements]
>  * [~apremalal]'s GSOC 2013 work about caching: [YouTube 
> demo|https://www.youtube.com/watch?v=30X-uHo5MDg], [Mifos.org 
> blog|https://mifos.org/blog/meet-2013-google-summer-code-class-interns/],
>  * "Data Layer" on 
> [https://cwiki.apache.org/confluence/display/FINERACT/Key+Design+Principles]
> I personally do not know the details about caching in Fineract. We should 
> either fine existing create new documentation about this.  It would be worth 
> to reach out to the mailing list to start a discussion and get input on what 
> is required to make this work. 
> FYI [~xurror], [~awasum], [~angeh]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to