Dear community,

I'd like to introduce you the idea of 3 different Fineract instance types:
- read
- write
- batch

All 3 come with different types of restrictions in terms of what they are
capable of. For example a read instance is going to be only capable of
serving read (GET) APIs. Write APIs will be able to serve both read and
write APIs. Batch instances will be only able to serve batch job related
APIs and run the batch jobs themselves.

This will greatly improve how we can scale Fineract in case we're planning
to deploy it to a highly-available setup with the highest-throughput
because we can scale individual parts of it. And frankly, reading data
happens much more often than actually writing data so the ability to do
this type of deployment will greatly improve what we can achieve in terms
of performance.

Also, with the separation in place, we could utilize read-replica databases
as well where write and batch instances connect to a master DB and the read
instances connect to read-replicas therefore reducing the load on the
database as well.

I've created a ticket for this as well:
https://issues.apache.org/jira/browse/FINERACT-1571

Hope all this makes sense and like the idea.

Best,
Arnold

Reply via email to