Wir schreiben gerade eine Anwendung, für die die IT bereits Hardware gekauft hat. Ihr Ansatz bestand darin, große Hardware zu kaufen, auf der wir sie bereitstellen würden. Um mehr Verarbeitung hinzuzufügen, planen sie zusätzliche Server mit identischer Software hinzuzufügen. Um diesem Design gerecht zu werden, verwenden wir Terracotta, um mehrere JVMs wie ein großes JVM zu betreiben. Unabhängig davon, ob dies ein weiser Weg ist (was ich immer noch nicht überzeugt bin), das ist die Situation, mit der ich es zu tun habe.Macht Terracotta JMS zu einer unnötigen Schicht?
Wie auch immer, wir haben einen Teil der Anwendung, die eine standardmäßige Producer/Consumer Type Queue verwendet. Mit Terracotta können wir eine einzige Warteschlange erstellen, die mit mehreren JVMs funktioniert. Das ist ziemlich glatt und es funktioniert gut.
Aber jetzt finden wir zusätzliche Möglichkeiten, asynchrone Prozesse auszuführen. Um unsere gesamte Warteschlangenlogik konsistenter zu gestalten, ziehen wir in Erwägung, JMS zu verwenden, um die allgemeine Logik zu abstrahieren. Da wir JMS nicht als ferne Warteschlange verwenden werden (zumindest in absehbarer Zeit), frage ich mich, ob JMS einfach unnötige Komplexität hinzufügt.
Irgendwelche Vorschläge oder Gedanken? Sollten wir weiterhin Warteschlangen als parallele Strukturen erstellen oder sie als separate, möglicherweise entfernte Objekte behandeln?