Majordodo

RESOURCE MANAGER PER SISTEMI DISTRUIBUITI

Cos’è Majordodo?

Majordodo è un resource manager replicato nato per costruire sistemi di elaborazione multi-tenant distribuiti. Lo si può immaginare come un thread-pool distribuito dove i task sono inviati dagli utenti e una rete di “broker” ne programma l’esecuzione su un ampio set di macchine, gestendo errori, priorità, risorse e recovery dei task stessi.

I task sono implementati in Java e possono essere assegnati e monitorati usando una semplice interfaccia HTTP REST JSON API.

Multi-Tenant

Majordodo gestisce le risorse di ogni utilizzatore e garantisce l’isolazione dei dati e una schedulazione imparziale. L’esecuzione è dinamica e considera le priorità dei singoli task. È possibile modificare le priorità dei singoli task al volo, compresi i task già schedulati.

Resilienza

Majordodo si basa su Apache Zookeeper e Apache Bookkeeper per costruire un’architettura replicata, shared-nothing e senza single point of failure. I nodi possono essere eseguiti su commodity-hardware, macchine virtuali, sistemi dinamici o sistemi cloud che possono subire malfunzionamenti in qualsiasi momento senza però causare interruzioni di servizio.

Scalabilità

Majordodo è progettato per gestire task per migliaia di sistemi. È semplice sia aggiungere che rimuovere sistemi e risorse, grazie alle configurazioni dinamiche e agli scheduler adattivi.

CHANGE LOG

0.3.0

12/02/2016 – Release notes
Majordodo 0.3.0 is a bugfix release

0.2.0

21/12/2015 – Release notes
Majordodo 0.2.0 introduces new utility class TaskSubmitter to serialize executors code