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)

Reply via email to