Vorheriges Thema: Anwendungsserver-AppliancesNächstes Thema: ROR: Ruby-on-Rails-Anwendungsserver


JBOSS, JBOSS64: JBoss-Anwendungsserver

JBOSS-Appliance

Auf einen Blick

Katalog

System

Kategorie

Anwendungsserver

Benutzer-Volumes

ja

Min. Speicher

160 M

Betriebssystem

Linux

Einschränkungen

no

Funktionsübersicht

JBOSS ist eine Anwendungsserver-Appliance, die auf Open-Source-JBoss basiert. JBOSS unterstützt zwei unterschiedliche JBoss-Software-Versionen:

JBOSS unterstützt eine Anzahl von erweiterten Technologien und Funktionen:

JBOSS stellt Webanwendungen entweder von einem lokal geladenen Inhalts-Volume oder von einem Netzwerk-Dateisystem, auf das durch das Terminal "fs" zugegriffen werden kann, automatisch bereit. Einige vorkonfigurierte Ausführungsumgebungen sind verfügbar, die von den Standard-JBoss-Konfigurationen abgeleitet werden. Der Pfad zu den Anwendungsdokumenten ist konfigurierbar, sodass das gleiche Volume mit mehreren Webservern und anderen Appliances, die Inhalt bereitstellen, gemeinsam genutzt werden kann.

JBOSS besitzt drei allgemeine Ausgabe-Terminals für den Zugriff auf externe Services: Das Terminal "db" wird für den Zugriff auf verschiedene Datenbanken verwendet; das Terminal "fs" wird dafür verwendet, auf freigegebenen Dateispeicher zuzugreifen (mithilfe von NFS); das Terminal "aux" dient zum Senden von E-Mail-Nachrichten an einen SMTP-Server.

Das Protokollterminal kann verwendet werden, um JBOSS mit einem freigegebenen Dateisystem zu verbinden, auf dem JBOSS Protokolldateien speichert.

Die Konfiguration des Servers wird über Eigenschaften angegeben. Diese Eigenschaften sind so konzipiert, dass sie die häufigsten Einsatzbereiche auf leicht konfigurierbare Weise abdecken. In den meisten Fällen müssen nur wenige Eigenschaften auf vom Standard abweichende Werte eingestellt werden.

Name

Aktuelle Version

JBOSS

2.0.3-1

JBOSS64

2.0.5-1

Ressourcen

32-Bit-Version

Ressource

Minimum

Maximum

Standard

Getestet

CPU

0.1

16

0.25

-

Speicher

160 MB

4 GB

1 GB

-

Bandbreite

1 Mbit/s

2 Gbit/s

250 Mbit/s

-

64-Bit-Version

Ressource

Minimum

Maximum

Standard

Getestet

CPU

0.1

16

0.25

-

Speicher

160 MB

32 GB

1 GB

-

Bandbreite

1 MB

2 GB

250 MB

-

Speicheranforderungen für JBOSS

Java-Anwendungen benötigen für eine korrekte Funktionsweise üblicherweise mehr RAM. Die für JBOSS benötigte Speicherkapazität hängt von den Anforderungen der ausführenden Anwendungen ab. Wenn nicht genügend Speicher verfügbar ist, kann JBOSS abstürzen oder nicht ordnungsgemäß funktionieren. Im Fall eines Absturzes wird eine Dashboard-Meldung aufgezeichnet.

Terminals

Name

Richtung

Protokoll

Description

in

in

HTTP

Verarbeitet HTTP-Anfragen von Web-Clients.

db

out

Alle

Zugriff auf einen Datenbankserver.

Die Syntax hängt von den Skripten ab, die sich im Inhalt-Volume befinden, sofern vorhanden. Wenn es nicht verwendet wird, kann dieses Terminal ohne Verbindung bleiben.

fs

out

NFS

Zugriff auf ein Netzwerkdateisystem für freigegebene Dateispeicherung, wobei Lese-/Schreibzugriff auf die Dateien über NFS bereitgestellt wird.

Der verbundene Server muss über eine "/mnt/data" genannte Freigabe mit Lese-/Schreibzugriff verfügen. Das geladene Remote-Dateisystem wird im Dateisystemspeicherbereich der Appliance als "/mnt/fs" angezeigt. Wenn es nicht verwendet wird, kann dieses Terminal ohne Verbindung bleiben.

log

out

CIFS

Zugriff auf ein CIFS-basiertes Netzwerkdateisystem zum Speichern von Zugriffs- und Fehlerprotokollen.

Der verbundene Server muss anonyme Anmeldungen zulassen und eine benannte Freigabe mit Lese-/Schreibzugriff haben. Wenn es nicht verwendet wird, kann dieses Terminal ohne Verbindung bleiben.

aux

out

Alle

Zugriff auf einen SMTP-Server für das Senden von ausgehender E-Mail.

Wenn es nicht verwendet wird, kann dieses Terminal ohne Verbindung bleiben.

net

out

Alle

Gateway-Ausgabe für Subnetzzugriff.

Wenn es nicht verwendet wird, kann dieses Terminal ohne Verbindung bleiben.

mon

out

CCE

Sendet Leistungs- und Ressourcenverwendungsstatistik.

Wenn es nicht verwendet wird, kann dieses Terminal ohne Verbindung bleiben.

Volumes

Name

Description

content

Ein schreibgeschütztes Volume oder Lese-/Schreib-Volume als Anwendungsspeicher.

Dieses Volume wird nur verwendet, wenn die Eigenschaft "content_on_fs" auf "no" festgelegt wird. In diesem Fall ist dieses Volume obligatorisch.

Wenn "content_on_fs" auf "yes" festgelegt wird und das Inhalts-Volume vorhanden ist, wird die Appliance nicht gestartet.

Eigenschaften

Allgemeine Eigenschaften

Name

Typ

Description

jboss_env

Zeichenfolge

Eine der vier Betriebsarten:
JBoss 4, JDK 5 – JBoss-Version 4.2.3, JDK-Version 1.5 Update 22
JBoss 4, JDK 6 – JBoss-Version 4.2.3, JDK-Version 1.6 Update 21
JBoss 5, JDK 5 – JBoss-Version 5.1.0, JDK-Version 1.5 Update 22
JBoss 5, JDK 6 – JBoss-Version 5.1.0, JDK-Version 1.6 Update 21
Standard: JBoss 4, JDK 5

jboss_cfg

Zeichenfolge

Konfiguration von JBoss. Mögliche Werte:
"minimal" – Standard-Mindestkonfiguration von JBoss.
"default" – Standard-Konfiguration von JBoss.
"all" – Standard-Komplettkonfiguration von JBoss.
"headless" – Standardkonfiguration ohne Tomcat und ohne Webservice-Komponenten.
"all-headless" – Komplettkonfiguration ohne Tomcat und ohne Webservice-Komponenten.
"web" – Konfiguration, bei der nur Tomcat und Webservice-Komponenten aktiviert sind, wird für Web-Frontends verwendet.
"custom" – benutzerdefinierte Konfiguration. Es sollte ein Ordner mit dem Namen JBOSS im Stamm des Inhalts-Volumes oder des Terminal-Dateisystems "fs" erstellt werden. Alles benötigten Ordner (mindestens "conf", "deploy" und "libs") müssen sich in diesem Ordner befinden.

Standard: "default".

heap_size

Int.

Der für den Java-Heap zugewiesene Speicherplatz (die Optionen "-Xms" und "-Xmx"). Wenn diese Eigenschaft "0" ist, wird der Wert von JBOSS automatisch berechnet (ungefähr 70 % von RAM). Wenn diese Eigenschaft leer ist, übergibt JBOSS die Eigenschaften "-XMs" und "-XMx" nicht an JVM, und diese Eigenschaften können direkt vom Benutzer in der Eigenschaft " java_opts" angegeben werden.
Standard: 0.

perm_size

Int.

Der für permanente Java-Objekte zugewiesene Speicherplatz (die Optionen "-XX:PermSize" und "-XX:MaxPermSize"). Wenn diese Eigenschaft "0" ist, wird der Wert von JBOSS automatisch berechnet (ungefähr 20 % von RAM). Wenn diese Eigenschaft leer ist, übergibt JBOSS die Eigenschaften "-XX:PermSize" und "-XX:MaxPermSize" nicht an JVM, und diese Eigenschaften können direkt vom Benutzer in der Eigenschaft " java_opts" angegeben werden.
Standard: 0.

java_opts

Zeichenfolge

Diese Zeichenfolge wird der Umgebungsvariable "JAVA_OPTS" hinzugefügt, bevor JVM gestartet wird. Zusätzliche Optionen und Parameter können hier angegeben werden (Beispiel: Heap-Größe, Perm-Größe, Debug-Optionen usw.).
Standard: (leer).

tcp_port

Ganzzahl

Port, den JBOSS nach eingehenden Verbindungen abruft.
Standard: 8080.

app_base

Zeichenfolge

Verzeichnis für von Benutzern bereitgestellte Anwendungen, das relativ zum Stammverzeichnis der Datenquelle (geladenes Inhalts-Volume oder NFS-geladene Freigabe) angegeben wird.
Standard: "deploy".

content_on_fs

Zeichenfolge

Gibt an, ob der Inhalt bezogen auf das Dateisystem am fs-Terminal angegeben wird oder sich auf dem Inhalt-Volume befindet.
Standard: "off" (vorausgesetzt, der Inhalt befindet sich auf dem Inhalts-Volume)

timezone

Zeichenfolge

Gibt die in der Appliance verwendete Zeitzone an. Wenn diese Eigenschaft leer ist, wird die Zeitzone nicht geändert, sondern im Ist-Zustand beibehalten. Hier ist eine Liste der unterstützten Zeitzonen verfügbar. Standard: leer

Protokollierungseigenschaften

Name

Typ

Description

logs_enabled

Zeichenfolge

Aktiviert oder deaktiviert die Protokollierung. Zulässige Werte sind "yes" oder "no". Wenn das Protokollterminal nicht angeschlossen ist und diese Eigenschaft auf "yes" festgelegt wurde, wird JBOSS nicht gestartet.
Standard: no

logs_dir

Zeichenfolge

Verzeichnis, in dem Protokolle relativ zum Stammverzeichnis der Log-Freigabe gespeichert werden.
Standard: "_(leer)_".

log_filename

Zeichenfolge

Dateiname für die Protokolldatei.
Standard: "jboss.log".

log_level

Zeichenfolge

Protokollierungsebene.

Standard: Debug

Cluster-Eigenschaften

Name

Typ

Description

partition_name

Zeichenfolge

Der Name einer Partition. Alle Instanzen von JBOSS auf dem Grid, die den gleichen Partitionsnamen haben, werden in einem Cluster verbunden. Wenn diese Eigenschaft leer ist, wird die Clusterunterstützung deaktiviert. Standard: (leer)

Typische Verwendung

Einfacher Web-/Anwendungsserver

Dies ist die einfachste Möglichkeit, eine JBOSS-Appliance zu verwenden. Ein IN-Gateway leitet jeden eingehenden HTTP-Datenverkehr zur JBOSS-Appliance weiter. In diesem Szenario verwendet JBOSS ein lokales Inhalts-Volume.

JBOSS-Verwendungsbeispiel 1

Verwendete Appliances:

Verwendete Eigenschaften

Eigenschaft

Wert

Description

jboss_env

JBoss 4, JDK 5

Verwendete JBoss-Umgebung.

jboss_cfg

default

Standardkonfiguration von JBoss.

tcp_port

80

Standardport für HTTP.

app_base

content

Anwendungen befinden sich im Unterverzeichnis /content des Daten-Volumes.

content_on_fs

off

Der Inhalt befindet sich auf dem lokalen Volume.

logs_enabled

no

Keine Protokollierung.

Einfacher Web-/Anwendungsserver mit externem Datenspeicher, Datenbank und Überwachung

Dies ist ein komplexeres Beispiel, in dem eine externe Datenspeicherung, eine Datenbank-Appliance und eine Überwachungs-Appliance verwendet werden.

JBOSS-Verwendungsbeispiel 2

Verwendete Appliances:

Verwendete Eigenschaften

Eigenschaft

Wert

Description

jboss_env

JBoss 5, JDK 6

Neueste verwendete JBoss-Umgebung.

jboss_cfg

default

Standardkonfiguration von JBoss.

tcp_port

80

Standardport für HTTP.

app_base

content

Anwendungen befinden sich im Unterverzeichnis /content des von NFS bereitgestellten Daten-Volumes.

content_on_fs

on

Der Inhalt befindet sich auf dem von NFS bereitgestellten Volume gefunden.

logs_enabled

ja

Mit Protokollierung.

logs_dir

/jboss_logs

Protokolldatei befindet sich im Unterverzeichnis "/jboss_logs/" der NAS-Appliance.

log_filename

jboss-runtime.log

Protokolldatei heißt "jboss-runtime.log".

log_level

EMERG

Nur Notfallmeldungen werden protokolliert.

Anwendungsserver mit Frontend

In diesem Beispiel bearbeitet die Frontend-WEB6-Appliance statischen Inhalt und leitet alle Anfragen für dynamisch generierte Inhalte an die Backend-JBOSS-Appliance weiter.

Verwendete Appliances:

Verwendete Eigenschaften

Eigenschaft

Wert

Description

jboss_env

JBoss 4, JDK 5

Verwendete JBoss-Umgebung.

jboss_cfg

default

Standardkonfiguration von JBoss.

tcp_port

8080

Standard-JBoss-TCP-Port.

app_base

content

Anwendungen befinden sich im Unterverzeichnis /content des Daten-Volumes.

content_on_fs

off

Der Inhalt befindet sich auf dem lokalen Volume.

logs_enabled

no

Keine Protokollierung.

Komplexe Hosting-Umgebung mit geclustertem und fehlertolerantem Frontend, Datenbanken, Backend-Servern.

Dies ist eine komplexe Anwendung mit einem geclusterten Frontend, mehreren geclusterten Datenbanken und einem geclusterten JBoss-Backend.

Das gw4-Eingabe-Gateway erhält eingehende Anfragen und sendet sie zum URL-Schalter "sw1", der die Anfragen zwischen Anfragen für statischen Inhalt (gesendet von den Ausgabe-Terminals 1–3 über den Lastenausgleich "lb2" und dann zu den Web-Frontend-Servern "web1" und "web2") und Anwendungsaufrufen (gesendet von den Ausgabe-Terminals 5–7 über den Backend-Lastenausgleich "lb2" und dann zu den JBoss-Anwendungsservern "AppSrv4" und "AppSrv5") unterscheidet. Die Frontend-Web-Farm ("web1" und "web2") bearbeitet eingehende Anfragen und antwortet entweder mit statischem Inhalt oder leitet Anfragen an die Backend-Server über den zweiten Lastenausgleich "lb2" weiter. Die Frontend-Server verwenden die geclusterten MySQL-Datenbank-Appliances "db_1_1" und "db_1_2". Der zweite Lastenausgleich "lb2" gleicht den Verkehr zwischen den geclusterten JBoss-Appliances "AppSrv4" und "AppSrv5" aus. Diese verwenden wiederum die geclusterten Datenbank-Appliances "db_2_1" und "db_2_2". Der Datenspeicherung wird über NFS von der NAS-Appliance "nas" angegeben.

Verwendete Appliances:

Verwendete Eigenschaften

Eigenschaft

Wert

Description

jboss_env

JBoss 5, JDK 6

Neueste verwendete JBoss-Umgebung.

jboss_cfg

all

Komplettkonfiguration von JBoss, umfasst Clustering.

tcp_port

8080

Standardport für JBoss.

app_base

content

Anwendungen befinden sich im Unterverzeichnis /content des von NFS bereitgestellten Daten-Volumes.

content_on_fs

on

Der Inhalt befindet sich auf dem von NFS bereitgestellten Volume gefunden.

logs_enabled

no

Keine Protokollierung.

In der Appliance verwendete Open-Source- und Drittanbieter-Software

JBOSS und JBOSS64 verwenden zusätzlich zu den Drittanbieter-/Open-Source-Paketen der jeweiligen Basisklassen LUX6 und LUX64 die folgenden Drittanbieter-/Open-Source-Pakete.

Software

Version

Geändert

Lizenz

Hinweise

JBoss

4.2.3.GA

Nein

LGPL

homepage

JBoss

5.1.0.GA

Nein

LGPL

homepage

JDK

6u21

Nein

Oracle

verfügbar auf der Oracle-Website

JDK

1.5.0_22

Nein

Sun Community Source-Lizenz und Java Research-Lizenz

verfügbar unter http://www.oracle.com/technetwork/java/index.html/

Jboss-nativ

2.0.9

Nein

LGPL v2.1, einige Teile unter GPL v2.0, Apache v2.0, Sleepycat License und Common Public License v1.0

N/A

samba-client

3.5.10-125.el6

Nein

GPLv2

N/A

samba-common

3.5.10-125.el6

Nein

GPLv2

N/A