Attualmente stiamo scrivendo un'applicazione per la quale l'IT ha già acquistato l'hardware. Il loro approccio era quello di acquistare hardware di grandi dimensioni su cui implementare. Per aggiungere ulteriore elaborazione, pianificano l'aggiunta di server aggiuntivi con lo stesso software. Per soddisfare questo progetto, stiamo usando Terracotta per fornire la possibilità di eseguire più JVM come se fosse uno grande. Indipendentemente dal fatto che questo sia un modo saggio per andare (che non sono ancora convinto), questa è la situazione con cui ho a che fare.Terracotta rende JMS uno strato non necessario?
In ogni caso, abbiamo una parte dell'applicazione che utilizza una coda standard di tipo produttore/consumatore. Con Terracotta, siamo in grado di creare una singola coda che funziona con più JVM. Questo è piuttosto lucido e funziona bene.
Ma ora, stiamo trovando ulteriori opportunità per eseguire processi asincroni. Per rendere più coerente la nostra logica di accodamento, stiamo considerando l'utilizzo di JMS per astrarre la logica comune. Dato che non useremo JMS come coda remota (almeno per il prossimo futuro), mi chiedo se JMS stia semplicemente aggiungendo complessità non necessaria.
Eventuali suggerimenti o pensieri? Dovremmo semplicemente continuare a creare code come strutture concorrenti, o trattarle come oggetti separati, potenzialmente remoti?