Aktiválás Batch csak egy Server példány

szavazat
0

Van egy nginx loadbalancer előtt két kandúr esetben mindegyik tartalmaz egy tavaszi indító alkalmazás. Minden tavasszal indító alkalmazás végrehajt egy adagot, amely adatokat ír egy adatbázisban. A batch minden nap 01:00. A probléma az, hogy mindkét esetben végrehajtja a batch simultaniously, amit nem akar.

Van egy módja annak, hogy a batchs telepített két esetben, és mondja tomcat vagy nginx kezdeni a tétel master szerver (és a szolga kiszolgáló nem fut a batch).

Ha az egyik szerver leáll, a második kiszolgáló indulhasson a tételt az ő nevében.

Van egy eszköz nginx vagy tomcat (vagy más technológia használatával), hogy?

előre is köszönöm.

A kérdést 14/02/2020 00:02
a forrás felhasználó
Más nyelveken...                            


2 válasz

szavazat
0

Spring Batch adatbázist használ a munkahelyei (JobsRepository). Az alapértelmezésben a memóriában adatforrás lehet nyomon követni a futó feladatok és azok állapotát. A beállításban, a 2 példányok (valószínűleg) segítségével saját memóriában tárol. Több példánya Spring Batch is működjenek együtt egymással, mint a klaszter és egy futtatható munkahelyek, míg a másik actasa hát, ha a jobsRepository adatbázis megosztott. Ehhez be kell állítania a 2. esetben, hogy egy közös adatforrás.

Íme néhány docs: https://docs.spring.io/spring-batch/docs/current/reference/html/index-single.html#jobrepository

https://docs.spring.io/spring-batch/docs/current/reference/html/job.html#configuringJobRepository

Válaszolt 14/02/2020 03:00
a forrás felhasználó

szavazat
0

Ha tervezni két alkalmazás szerver példányok futtatásához ugyanazt a munkát egy időben, majd a tervezés, az egyik sikeres lesz, hogy hozzon létre egy munkát példányt és a többi sikertelen lesz (ez a hiba figyelmen kívül hagyható). Lásd Javadoc a JobRepository . Ez az egyik a szerepe a munka adattár: fellépni elleni biztosítékként ismétlődő feladat kivégzések fürtözött környezetben.

Ha az egyik szerver leáll, a második kiszolgáló indulhasson a tételt az ő nevében. Van egy eszköz nginx vagy tomcat (vagy más technológia használatával), hogy?

Úgy vélem, nincs szükség ilyen eszköz vagy technológia. Ha az egyik szerver leállt idején a menetrend, a másik képes lesz, hogy vegye a dolgokat, és sikerül indít a munkát.

Válaszolt 24/02/2020 15:40
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more