Non ho mai usato cache/DHT distribuiti come memcached, jboss cache, ehcache, ecc. Mi chiedo quale, se del caso, sia appropriato per il mio uso.java cache distribuita per bassa latenza, alta disponibilità
In primo luogo, non sto facendo applicazioni web (dato che la maggior parte di questi progetti sembra essere orientata verso le app web). Scrivo server (Order Management Systems in realtà) per le società di trading finanziario. I server stessi non sono troppo complicati. Devono ricevere informazioni (dati di mercato, ordini, esecuzioni, ecc.) Per indirizzarli verso la loro destinazione, mentre possono eventualmente trasformare alcuni di questi messaggi.
sto guardando questi prodotti per risolvere i seguenti problemi:
repository sicuro dello stato del server. Preferirei costruire la logica della mia applicazione come un gruppo di trasformatori (simile a Apache Camel) e memorizzare lo stato in un posto "sicuro"
Questo repository deve essere distribuito: nel caso in cui uno di questi archivi dati si blocchi , uno o due ulteriori dovrebbero essere attivi e dovrei essere in grado di passare a loro senza problemi
Questo repository deve essere veloce. I millisecondi di una sola cifra contano qui, in altre parole, i sistemi che consumano/elaborano questi dati sono sistemi automatici, non umani che cliccano sui collegamenti. Questo sistema deve avere un throughput elevato e latenza bassa. Inviando i miei dati al di fuori del processo, sto necessariamente rallentando le prestazioni, ma sto cercando di bilanciare la velocità assoluta assoluta e la protezione assoluta dei dati.
Questo repository deve essere sicuro. Simile al punto su diversi backup on-line, questo sistema ha bisogno di scrivere dati su disco (potenzialmente più di un disco).
Mi piacerebbe davvero smettere di scrivere i miei "server di transazione". Ho ragione a guardare progetti come jboss cache, ehcache, ecc.?
Grazie
Ma ha bisogno di una cache – HaveAGuess
@HaveAGuess, Questo è un buon punto, tuttavia, l'implementazione di una cache distribuita è relativamente semplice una volta che si dispone di connettività a bassa latenza. –