Odpowiedź na to pytanie będzie "zależna".
Dla kwarcu 1.x odpowiedź brzmi, że wykonanie zadania jest zawsze (tylko) na mniej lub bardziej losowym węźle. Gdzie "przypadkowość" jest tak naprawdę oparta na tym, który węzeł dostanie się do niego jako pierwszy. W przypadku "zajętych" programów planujących (w których zawsze jest dużo zadań do wykonania), to kończy się dając ładunek całkiem zrównoważony w węzłach klastra. W przypadku niezaawansowanego programu planującego (tylko sporadyczne zadanie do uruchomienia) może się czasem wydawać, że pojedynczy węzeł uruchamia wszystkie zadania (ponieważ program planujący wyszukuje następne zadanie, które ma zostać uruchomione po zakończeniu wykonywania zadania, aby węzeł właśnie zakończył wykonywanie dąży do znalezienia następnego zadania do wykonania).
Z kwarcem 2.0 (który jest w wersji beta) odpowiedź jest taka sama jak powyżej, dla standardowego kwarcu. Jednak użytkownicy Terracotta zbudowali edycję Enterprise swojego TerracottaJobStore, która zapewnia bardziej złożone sterowanie klastrami - podczas planowania zadań można określić, które węzły klastra są prawidłowe do wykonania zadania, lub można określić cechy/wymagania węzła, takie jak jako "węzeł z co najmniej 100 MB dostępnej pamięci RAM". Działa to również razem z ehcache, dzięki czemu można określić zadanie do uruchomienia "w węźle, w którym dane z kluczem X są lokalne".
dzięki za info. – ButterflyCoder