2010-12-16 9 views
1

Ich habe eine Frage bezüglich Failover mit dem JBoss Application Server (5.1) läuft JBoss ESB 4.9. Ich werde mit einem Diagramm beginnen:Failover von JBoss Application Server

diagram

Wir haben eine Legacy-Anwendung ("Legacy Producer") Daten auf einem Legacy-Verkehr ("Legacy Transport") zu erzeugen. Wir haben einen ESB-Dienst ("Gateway") geschrieben, der den Legacy-Transport überwacht und die empfangenen Nachrichten auf den ESB überträgt. Die Nachrichten folgen dann mehreren Orchestrierungsschritten, um verarbeitet zu werden.

Dies funktioniert korrekt mit einem Anwendungsserver läuft. Wir möchten jedoch den Ausfall eines Anwendungsservers zulassen. Eine naive Lösung besteht also darin, zwei solcher Anwendungsserver (wie gezeigt) in einer Clusterkonfiguration aufzustellen. Da dies jedoch zu einer Replikation der Gateway-Dienste führen würde, würden zwei Kopien jeder Nachricht auf dem ESB veröffentlicht und verarbeitet werden, was ein unerwünschtes Ergebnis wäre.

Was ist der richtige Weg, diese Art von Failover zu implementieren?

Antwort

1

Der richtige Weg ist JMS Clustering zwischen den Knoten zu verwenden. Sie müssen sich die AS/JBoss Messaging (oder HornetQ) -Dokumentation ansehen, um dies zu demonstrieren. Der ESB enthält keine Schnellstartanweisungen, um dies zu demonstrieren.

Es könnte einige Schritte erfordern die jUDDI Informationen als auch auf beiden Knoten zu veröffentlichen, aber es gibt in den Handbüchern, wie dies zu tun. Prüfen Programmierhandbuch „7.1. Failover-und Load-Balancing-Unterstützung“

+1

konkreter, wenn der „Legacy Transport“ Dateisystem-basiert ist, wie stellen Sie sicher, dass keine in der Nähe Racebedingung zwischen den beiden Fällen entsteht die FileGatewayListeners, zB: eine Datei erscheint im überwachten Ordner, beide Listener triggern gleichzeitig, ein Listener benennt die Datei um, indem er das Suffix .inProgress anhängt, und der etwas langsamere kann die Datei nicht umbenennen, da sie bereits umbenannt wurde? Gibt es eine Clusterkonfiguration, die dieses Problem verhindert? –

Verwandte Themen