3.2.8. Clustering-Änderungen
3.2.8.1. Durchführung von Änderungen an Ihrer Applikation für Clustering
Starten Sie die JBoss EAP 6 mit aktiviertem Clustering
Um Clustering in der JBoss EAP 5.x zu aktivieren müssen Sie Ihre Serverinstanzen mittels desall-Profils oder einer von dessen Ableitungen wie folgt starten:$ EAP5_HOME/bin/run.sh -c allIn der JBoss EAP 6 hängt die Methode zur Aktivierung des Clustering davon ab, ob die Servers standalone sind oder in einer Managed Domain laufen.Aktivierung von Clustering für in einer Managed Domain laufenden Servern
Um Clustering für mittels des Domain Controllers gestarteten Servern zu aktivieren, aktualisieren Sie Ihredomain.xmlund designieren Sie eine Servergruppe zur Verwendung desha-Profils und derha-sockets-Socket-Binding-Gruppe. Zum Beispiel:<server-groups> <server-group name="main-server-group" profile="ha"> <jvm name="default"> <heap size="64m" max-size="512m"/> </jvm> <socket-binding-group ref="ha-sockets"/> </server-group> </server-group>Aktivierung von Clustering für Standalone Server
Zur Aktivierung von Clustering für Standalone Server starten Sie den Server unter Verwendung der passenden Konfigurationsdatei wie folgt:$ EAP_HOME/bin/standalone.sh --server-config=standalone-ha.xml -Djboss.node.name=UNIQUE_NODE_NAME
Spezifizieren Sie die Bind-Adresse
Bei der JBoss EAP 5.x würden Sie normalerweise die für das Clustering zu verwendende Bind-Adresse unter Verwendung des-b-Befehlszeilenarguments wie folgt angeben:$ EAP5_HOME/bin/run.sh -c all -b 192.168.0.2JBoss EAP 6 bindet Sockets an die IP-Adressen und Interfaces, die in den<interfaces>Elementen instandalone.xml,domain.xmlundhost.xmlDateien enthalten sind. Die mit der JBoss EAP gelieferten Standardkonfigurationen umfassen zwei Interface-Konfigurationen:<interfaces> <interface name="management"> <inet-address value="${jboss.bind.address.management:127.0.0.1}"/> </interface> <interface name="public"> <inet-address value="${jboss.bind.address:127.0.0.1}"/> </interface> </interfaces>Diese Interface-Konfigurationen benutzen die Werte der System-Propertiesjboss.bind.address.managementundjboss.bind.address. Wenn diese System-Properties nicht gesetzt wurden, wird für jeden Wert der Standardwert127.0.0.1benutzt.Sie können auch die Bind-Adresse bei Serverstart als Befehlszeilenargument angeben, oder sie explizit innerhalb der JBoss EAP 6 Serverkonfigurationsdatei definieren.- Bind-Argument auf der Befehlszeile bei Start des JBoss EAP Standalone Servers angeben.Es folgt ein Beispiel für die Angabe einer Bind-Adresse in der Befehlszeile für einen Standalone Server:
EAP_HOME/bin/standalone.sh -Djboss.bind.address=127.0.0.1Anmerkung
Sie können auch das-bArgument benutzen, eine Abkürzung für-Djboss.bind.address=127.0.0.1:EAP_HOME/bin/standalone.sh -b=127.0.0.1Das JBoss EAP 5 Syntaxformat wird ebenfalls noch unterstützt:
Beachten Sie, dass dasEAP_HOME/bin/standalone.sh -b 127.0.0.1-bArgument nur daspublicInterface ändert. Es beeinflusst nicht dasmanagementInterface. - Spezifizieren Sie die Bind-Adresse in der Server-Konfigurationsdatei.Geben Sie die Bind-Adressen für Server, die in einer Managed Domain laufen, in der
domain/configuration/host.xmlDatei an. Für Standalone Server geben Sie die Bind-Adressen in derstandalone-ha.xmlDatei an.Im folgenden Beispiel ist daspublic-Interface als das Standard-Interface für alle Sockets innerhalb derha-sockets-Socket-Binding-Gruppe festgelegt.<interfaces> <interface name="management"> <inet-address value="192.168.0.2"/> </interface> <interface name="public"> <inet-address value="192.168.0.2"/> </interface> </interfaces><socket-binding-groups> <socket-binding-group name="ha-sockets" default-interface="public"> <!-- ... --> </socket-binding-group> </socket-binding-groups>Anmerkung
Wenn Sie die Bind-Adressen als hartcodierten Wert anstatt als System Property in der Konfigurationsdatei angeben, können Sie sie nicht mit einem Befehlszeilenargument außer Kraft setzen.
Konfiguration von
jvmRoutezur Unterstützung von mod_jk und mod_proxyBei der JBoss EAP 5 wurde der WebserverjvmRoutemittels einer Property in derserver.xml-Datei konfiguriert. Bei der JBoss Enterprise Application Platform 6 wird dasjvmRoute-Attribut im Web-Untersystem der Serverkonfigurationsdatei unter Verwendung desinstance-id-Attributs wie folgt konfiguriert:<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false" instance-id="{JVM_ROUTE_SERVER}">Das {JVM_ROUTE_SERVER} oben sollte durch die jvmRoute Server-ID ersetzt werden.Dieinstance-idkann auch mittels der Management-Konsole eingestellt werden.Festlegung von Multicast-Adresse und Port
Bei der JBoss EAP 5.x konnten Sie die für intra-Cluster verwendete Multicast-Adresse und den Port mittels der Befehlszeilenargumente-uund-mwie folgt festlegen:$ EAP5_HOME/bin/run.sh -c all -u 228.11.11.11 -m 45688Bei der JBoss EAP 6 sind die für intra-Cluster-Kommunikation verwendete Multicast-Adresse und der Port mittels des von dem relevanten JGroups Protokoll-Stacks referenzierten Socket-Binding wie folgt definiert:<subsystem xmlns="urn:jboss:domain:jgroups:1.0" default-stack="udp"> <stack name="udp"> <transport type="UDP" socket-binding="jgroups-udp"/> <!-- ... --> </stack> </subsystem><socket-binding-groups> <socket-binding-group name="ha-sockets" default-interface="public"> <!-- ... --> <socket-binding name="jgroups-udp" port="55200" multicast-address="228.11.11.11" multicast-port="45688"/> <!-- ... --> </socket-binding-group> </socket-binding-groups>Falls Sie die Multicast-Adresse und den Port lieber in der Befehlszeile festlegen möchten, so können Sie die Multicast-Adresse und Ports als System-Properties definieren und diese Properties an der Befehlszeile verwenden, wenn Sie den Server starten. Im folgenden Beispiel istjboss.mcast.addrder Variablenname für die Multicast-Adresse undjboss.mcast.portist der Variablenname für den Port.<socket-binding name="jgroups-udp" port="55200" multicast-address="${jboss.mcast.addr:230.0.0.4}" multicast-port="${jboss.mcast.port:45688}"/>Sie können dann Ihren Server mittels folgender Befehlszeilenargumente starten:$ EAP_HOME/bin/domain.sh -Djboss.mcast.addr=228.11.11.11 -Djboss.mcast.port=45688Verwendung eines anderen Protocol-Stacks
Bei der JBoss EAP 5.x konnten Sie das standardmäßige Protocol-Stack, das für alle diejboss.default.jgroups.stackSystem-Property verwendenden Clustering-Dienst verwendet wurde, bearbeiten.$ EAP5_HOME/bin/run.sh -c all -Djboss.default.jgroups.stack=tcpBei der JBoss EAP 6 ist das standardmäßige Protocol-Stack durch das JGroups-Subsystem innerhalb derdomain.xmloderstandalone-ha.xmldefiniert.<subsystem xmlns="urn:jboss:domain:jgroups:1.0" default-stack="udp"> <stack name="udp"> <!-- ... --> </stack> </subsystem>Buddy-Replikation ersetzen
JBoss EAP 5.x benutzte JBoss Cache Buddy Replication um die Replikation von Daten zu allen Instanzen eines Clusters zu unterdrücken.Bei der JBoss EAP 6 wurde Buddy Replication mit dem verteilten Cache von Infinispan, auch alsDISTModus bekannt, ersetzt. Verteilung ist ein starker Clusteringmodus, der es Infinispan ermöglicht linear zu skalieren, wenn dem Cluster mehr Server hinzugefügt werden. Es folgt ein Beispiel für die Konfiguration des Servers zur Verwendung des DIST Cachingmodus.- Öffnen Sie eine Befehlszeile und starten Sie den Server mit HA oder Full Profile, zum Beispiel:
EAP_HOME/bin/standalone.sh -c standalone-ha.xml
- Öffnen Sie eine weitere Befehlszeile und verbinden Sie sich mit dem Management-CLI.
- In Linux geben Sie folgendes in der Befehlszeile ein:
$ EAP_HOME/bin/jboss-cli.sh --connect
- In Windows geben Sie folgendes in der Befehlszeile ein:
C:\>EAP_HOME\bin\jboss-cli.bat --connect
Sie sollten die folgende Antwort sehen:Connected to standalone controller at localhost:9999
- Geben Sie die folgenden Befehle ein:
/subsystem=infinispan/cache-container=web/:write-attribute(name=default-cache,value=dist) /subsystem=infinispan/cache-container=web/distributed-cache=dist/:write-attribute(name=owners,value=3) :reload
Sie sollten die folgende Antwort nach jedem Befehl sehen:"outcome" => "success"
Diese Befehle ändern dasdist<distributed-cache>-Element in derweb<cache-container>-Konfiguration iminfinispan-Subsystem derstandalone-ha.xml-Datei wie folgt:<cache-container name="web" aliases="standard-session-cache" default-cache="dist" module="org.jboss.as.clustering.web.infinispan"> <transport lock-timeout="60000"/> <replicated-cache name="repl" mode="ASYNC" batching="true"> <file-store/> </replicated-cache> <replicated-cache name="sso" mode="SYNC" batching="true"/> <distributed-cache name="dist" owners="3" l1-lifespan="0" mode="ASYNC" batching="true"> <file-store/> </distributed-cache> </cache-container>Weitere Informationen finden Sie im Kapitel Clustering in Web Applications im Development Guide für die JBoss EAP 6 im Kundenportal unter https://access.redhat.com/site/documentation/JBoss_Enterprise_Application_Platform/.

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.