Domanda

Qualcuno ha esperienza nell'uso dell'offerta open source di Terracotta rispetto all'offerta aziendale? In particolare, sono interessato se vale la pena utilizzare la terracotta senza gli strumenti aziendali per gestire il cluster?

Riepilogo dell'utilizzo troppo semplificato: siamo una piccola startup con budget limitato che deve elaborare milioni di record e ridimensionare per centinaia di migliaia di visualizzazioni di pagina al giorno.

È stato utile?

Soluzione

Al momento, gli strumenti aziendali di Terracotta forniscono solo alcune funzionalità oltre alla versione open source su cose come la visualizzazione e la gestione (come la capacità di espellere un client dal cluster). Ciò continuerà a divergere e è probabile che gli strumenti aziendali possano vantare più funzionalità a livello di operatore per quanto riguarda la gestione e il monitoraggio, ma puoi certamente gestire e ottimizzare un'app anche con gli strumenti open source.

La licenza aziendale offre anche supporto, indennizzo, ecc. che possono o meno essere importanti per te come gli strumenti.

Ti esorto a provarlo tu stesso. Se desideri vedere un esempio di un'app reale che utilizza Terracotta, dai un'occhiata a questa app Web di riferimento che è stata appena rilasciata:

The Examinator

Altri suggerimenti

Sono in procinto di integrare Terracotta con il mio progetto (un simulatore di rete di nodi di sensori). Circa tre settimane fa ho scoperto Terracotta da uno dei miei colleghi. E ora la mia applicazione sfrutta il grid computing usando Terracotta. Di seguito ho riassunto alcuni punti essenziali della mia esperienza con la terracotta.

  • Il sito di Terracotta contiene una documentazione piuttosto dettagliata. Questo articolo probabilmente è un buon punto di partenza per uno sviluppatore Guida ai concetti e all'architettura
  • Quando sei bloccato da un problema e non hai trovato risposta nella documentazione, la Community di terracotta forum è un buon posto per porre domande. Sembra che gli sviluppatori di Terracotta lo controllino regolarmente e abbastanza reattivo.
  • Anche se Terracotta è in esecuzione su JVM ed è pubblicizzato che è solo una questione di configurazione per rendere l'applicazione in esecuzione in un cluster, dovresti essere pronto che potrebbe essere necessario introdurre alcune modifiche serie nella tua applicazione per farlo eseguire ragionevolmente bene. Per esempio. Ho dovuto riscrivere completamente la logica di sincronizzazione della mia applicazione.
  • Buona integrazione con Eclipse.
  • L'Admin Console è un ottimo strumento e mi ha aiutato molto a modificare la mia applicazione per eseguire decentemente in Terracotta. Raccoglie tutte le metriche delle prestazioni da server e client a cui puoi solo pensare. Ha certamente alcuni problemi relativi alla GUI, ma chi no :-)
  • Preferisce le primitive standard di sincronizzazione Java (sincronizzate / attendi / notifica) rispetto ai cittadini java.util.concurrent. *. Ho scoperto che le primitive standard offrono una maggiore flessibilità (può essere configurata per essere un blocco cluster di lettura o scrittura o addirittura non un blocco), più facile da tenere traccia nell'Admin Console (vedi piuttosto il nome della classe dell'oggetto bloccato quindi ad esempio un po 'di ReentrantLock).

Spero che sia d'aiuto.

Potresti dare un'occhiata a JBossCache / PojoCache che è una soluzione di cache distribuita in memoria. La differenza è che usa una semplice API per propagare oggetti attraverso il tuo 'cluster' di cache, dove Terracotta lavora a livello di classloading / jvm.

(In realtà non hanno una propria JVM, ma modificano le classi quando vengono caricate per consentire loro di essere "raggruppabili")

La nostra azienda ha avuto molta fortuna con JBossCache, consiglierei di provarlo.

Aggiorna

Quello che vedo nel messaggio di OP è "bene, non so davvero di cosa abbiamo bisogno (quindi la mancanza di requisiti dettagliati), ma può essere uno strumento di intraprendenza che risolverà magicamente tutti i nostri problemi, noti e imprevisti? Sarebbe fantastico ! & Quot;

Con un approccio architettonico come questo non volerà. Nessuna storia di successo di Teracotta cambierebbe questo.

OSS è utile quando la comunità circostante può sostituire il supporto commerciale. Supponiamo che il ragazzo abbia un problema in produzione. La comunità non può aiutare - è troppo piccola per il prodotto oscuro come questo. I server non funzionano, gli affari sono in pericolo. Vedi? È necessaria una licenza commerciale anticipata. Senza soldi? Bene, allora non sei un business e probabilmente non lo diventerai (se nessuno è disposto a investire in esso).

Ci scusiamo per aver interrotto i tuoi sogni ad occhi aperti.

IMHO:

Terracotta è una soluzione di clustering. Il clustering è necessario per applicazioni di grandi dimensioni di livello aziendale. Grandi applicazioni significano grandi budget. Grandi budget significano che puoi permetterti la licenza commerciale di Terracotta.

Per dirla in un altro modo: se non hai un budget per acquistarlo, probabilmente non è vantaggioso per il tuo progetto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top