You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@fineract.apache.org by "Avik Ganguly (JIRA)" <ji...@apache.org> on 2017/04/18 06:49:41 UTC

[jira] [Created] (FINERACT-429) Node aware Scheduler

Avik Ganguly created FINERACT-429:
-------------------------------------

             Summary: Node aware Scheduler
                 Key: FINERACT-429
                 URL: https://issues.apache.org/jira/browse/FINERACT-429
             Project: Apache Fineract
          Issue Type: Improvement
            Reporter: Avik Ganguly
            Assignee: Markus Geiss


I believe multiple instances of the same job can be created by keeping the same job identifier but having different job keys. Additional parameter nodeId can be saved in the job table defaulting to 1. Default this parameter for a single-instance app-server to 1. 

If node.id parameter exists in the application yaml while deploying, set that system property to configured node id.  
Front-end can pass the configured node-id of the job instance as a query parameter.

This will allow the organization to configure something like let Node 1 do all accruals for North zonal office and Node 2 do all accruals for South Zonal office.

System admin can setup the corresponding mapping for node to IPs/URL while configuring load balancer. Example :-

```
//Nginx - Default Round Robin Configuration

http {

    upstream myapp1 {
        server srv1.example.com;
        server srv2.example.com;
        server srv3.example.com;
    }

   map $query_string $srvr {
	default https://myapp1           // If it doesn't match, send to load balancer
        node=1  srv1.example.com;
        node=2  srv2.example.com;
        node=3  srv3.example.com;
   }


    server {
        listen 80;

        location / {
            proxy_pass $srvr;
        }
    }
}
```



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)