Informationen zu diesem Vorgang
Wenn Sie Intelligent Management verwenden möchten, um HTTP-Anforderungen an einen Liberty-Verbund weiterzuleiten, müssen Sie das
Feature dynamicRouting-1.0 in einem oder mehreren Verbundcontrollern in einem Verbund aktivieren.
Das Feature stellt den Dynamic Routing-Service bereit, der
Routing-Informationen dynamisch vom Verbundrepository abruft und diese Informationen an das
WebSphere-Plug-in übergibt. Das Feature stellt auch den Befehl dynamicRouting bereit. Verwenden Sie die zugehörigen Befehlsaktionen setup, genPluginCfg und genKeystore zusammen, um die Keystores zu generieren, die für die sichere Kommunikation zwischen dem Plug-in und dem Dynamic Routing-Service erforderlich sind, und eine Plug-in-Konfigurationsdatei zu generieren, die Intelligent Management im WebSphere-Plug-in aktiviert.
Die Funktionalität von Routing-Regeln leitet die am WebSphere-Plug-in eingehenden Anforderungen an eine bestimmte Servergruppe weiter. Zusätzlich können Anforderungen selektiv zurückgewiesen oder umgeleitet werden. Ob eine Regel auf eine eingehende Anforderung angewendet wird, wird ermittelt, indem Attribute der eingehenden Anforderungen abgeglichen werden.
- Fügen Sie zum Aktivieren von Dynamic Routing in einem Controller den folgenden Code zum Tag
featureManager in der Datei server.xml des Controllers hinzu.
<feature>dynamicRouting-1.0</feature>
- Starten Sie alle Controller, die über das Feature "Dynamic Routing" aktiviert wurden.
- Fügen Sie für einen der Controller den Befehl dynamicRouting setup aus, um die Keystore- und die Plug-in-Konfigurationsdateien zu generieren. Beispiel:
./dynamicRouting setup --port=9444 --host=controller1.acme.com --user=admin --password=passw0rd --keystorePassword=webAS --pluginInstallRoot=/opt/HTTPServer_Plugins/ --webServerNames=webserver1
Anmerkung: Stellen Sie sicher, dass für das Argument --user in einer Benutzerregistry ein Wert angegeben wurde und der Benutzer die Administratorrolle hat.
Weitere Informationen
finden Sie im Artikel Befehl für dynamisches Routing.
- Kopieren Sie die generierten Dateien plugin-key.jks und plugin-cfg.xml in ein temporäres Verzeichnis
auf dem Web-Server-Host.
- Führen Sie auf dem Web-Server-Host den (im IHS-Paket enthaltenen) Befehl gskcmd aus, um
den Keystore in das CMS-Format zu konvertieren und das persönliche Zertifikat als Standard festzulegen. CMS ist das unterstützte Format für das
WebSphere-Plug-in. Beispiel:
gskcmd -keydb -convert -pw webAS -db /tmp/plugin-key.jks -old_format jks -target /tmp/plugin-key.kdb -new_format cms -stash
gskcmd -cert -setdefault -pw <<password>> -db /tmp/plugin-key.kdb -label default
Weitere Informationen für z/OS finden Sie unter Keystore in das CMS-Format unter z/OS konvertieren.
- Kopieren Sie die Dateien plugin-key.kdb, plugin-key.rdb und plugin-key.sth, die mit dem Befehl
gskcmd erstellt wurden, aus dem temporären Verzeichnis in das
Verzeichnis --pluginInstallRootargument_value/config/Name_des_Web-Servers/.
- Kopieren Sie die Datei plugin-cfg.xml in das Verzeichnis, das in der Anweisung WebSpherePluginConfig in der Web-Server-Datei httpd.conf angegeben ist. Die Datei plugin-cfg.xml wird mit der Zeilengruppe <IntelligentManagement> generiert. Wenn das Feature "Dynamic Routing" in einem Verbund aktiviert ist, gibt es für jeden Verbundcontroller eine
Zeilengruppe <Connector>.
Beispiel:
<IntelligentManagement>
<Property name="webserverName" value="webServer1"/>
<ConnectorCluster enabled="true" maxRetries="-1" name="default" retryInterval="60">
<Property name="uri" value="/ibm/api/dynamicRouting"/>
<Connector host="controller1.acme.com" port="9444" protocol="https">
<Property name="keyring" value="/opt/HTTPServer_Plugins/config/webserver1/plugin-key.kdb"/>
</Connector>
</ConnectorCluster>
</IntelligentManagement>
- Starten Sie den Web-Server und beginnen Sie mit der Weiterleitung zu der im Verbund installierten Anwendung.
- Optional: Fügen Sie das Element <dynamicRouting> der Controllerdatei server.xml hinzu, um Eigenschaften für das dynamische Routing anzugeben.
Die Eigenschaft connectorClusterName gibt den Namen an, den das dynamische Routing dem Verbund zuordnet. Wenn die
Eigenschaft connectorClusterName nicht angegeben wird, wird der Name des Verbunds verwendet. Die Eigenschaft retryInterval gibt an, wie lange gewartet wird, bis erneute eine Verbindung zu einem Controller hergestellt wird, wenn eine Verbindung fehlschlägt. Die
Eigenschaft maxRetries gibt an, wie oft versucht wird, erneut eine Verbindung mit einem Verbundcontroller herzustellen, der ausgefallen ist.
Beispiel:
<dynamicRouting maxRetries="4" retryInterval="20" connectorClusterName="collective1"/>
<TraceSpecification name="default" specification=":DEBUG"/>
</dynamicRouting>
Die generierte Datei
plugin-cfg.xml enthält die folgenden
<ConnectorCluster>-Eigenschaften:
<IntelligentManagement>
<TraceSpecification name="default" specification=":DEBUG"/>
<Property name="webserverName" value="webServer1"/>
<ConnectorCluster enabled="true" maxRetries="4" name="collective1" retryInterval="20">
<Property name="uri" value="/ibm/api/dynamicRouting"/>
<Connector host="controller1.acme.com" port="9444" protocol="https">
<Property name="keyring" value="/opt/HTTPServer_Plugins/config/webServer1/plugin-key.kdb"/>
</Connector>
</ConnectorCluster>
</IntelligentManagement>
Optional: Erstellen Sie Routing-Regeln, um anzugeben, wie bestimmte Anforderungen verarbeitet werden. Routing-Regeln können verwendet werden, um
- bestimmte Anforderungen zurückzuweisen.
- bestimmte Anforderungen umzuleiten.
- zuzulassen, dass bestimmte Anforderungen an ein Subset verfügbarer Server weitergeleitet werden.
- für bestimmte Anforderungen ein Failover von einer Servergruppe auf eine andere Servergruppe zu ermöglichen.
Weitere Informationen finden Sie in den
Abschnitten Routing-Regeln für dynamisches Routing in Liberty und
Routing-Regeln für dynamisches Routing in Liberty konfigurieren.