Tips för att labba med JPPF på Mejslas vässardag 2020-01-23 och länk till presentationen.
Bygg projektet:
mvn package
För att testa lokalt behöver du inte ändra något. Det räcker med att starta alla delar av systemet: en server, en eller flera noder och adminklienten. Sen kan du köra testklienten och se vad som händer.
När du ansluter din dator till labbklustret behöver du ingen server. Du måste däremot ändra några inställningar för att noder och klienter ska hitta den gemensamma servern. Alla noder och klienter i ett kluster måste använda samma version av Java (11) och serialisering (DefaultJavaSerialization).
jppf.server.host=<den gemensamma serverns IP-adress>
jppf.discovery.enabled=false
Eventuellt vill du ändra hur många trådar en nod får lägga rabarber på:
jppf.processing.threads=<antal trådar>
driver1.jppf.server.host=<den gemensamma serverns IP-adress>
jppf.discovery.enabled=false
Nu kan du starta en eller flera noder och köra testklienten igen.
För att enkelt att komma igång kan du utgå från klassen TemplateApplicationRunner
, som till största delen är kopierad från JPPFs exempelkod. I main
kan man se tre olika sätt att köra distribuerade jobb med JPPF. Den som föredrar enhetstester kan istället utgå från SimpleTaskIT
.
Det finns också några exempel-tasks att testa med.
Du har säkert egna saker du vill testa, men annars finns här är en lista med idéer:
- Gör JPPFs egen tutorial
- Testa failover genom att stoppa en nod som exekverar ett jobb och se om en annan nod tar över
- Skriv en klient som gör något som tar lång tid, som t.ex. hitta primtal, dela upp beräkningen i flera delar, kör beräkningen distribuerat och sätt ihop resultatet efteråt
- Byt serialisering till något annat än Javas inbyggda (exempel)
- Testa en färdig klient, t.ex. Mandelbrot-fraktaler eller något av JPPFs exempel
- Kör en nod med en SecurityManager installerad
- Skapa jobb med SLA, t.ex. jobb får bara köras på macOS, eller på en nod med minst fyra trådar
- Skriv en egen lastbalanserare (exempel)
- JPPF i molnet (JPPF deployment, Docker, Kubernetes)
- Skriv en bitcoin-brytare, kör på alla andras datorer och bli rik!
- Eller något roligare som du kommer på själv