Argomento precedente: Appliance del server di applicazioniArgomento successivo: ROR: server di applicazioni Ruby-on-Rails


JBOSS, JBOSS64: server di applicazioni JBoss

Appliance di JBOSS

In breve

Catalogo

Sistema

Categoria

Server di applicazioni

Volumi dell'utente

Num. minimo memoria

160 M

OS

Linux

Vincoli

no

Panoramica funzionale

JBOSS è un'appliance di server di applicazioni basata su JBoss Open Source. JBOSS supporta due versioni distinte di software JBoss:

JBOSS supporta diverse tecnologie e caratteristiche avanzate:

JBOSS distribuisce automaticamente le applicazioni Web da un volume di contenuto montato localmente o da un file system di rete accessibile dal terminale di fs. Molti ambienti di esecuzione pre-configurati, derivati dalle configurazioni di JBoss standard, sono disponibili. Il percorso all'applicazione è configurabile in modo che lo stesso volume venga condiviso fra più server Web e le altre appliance che forniscono diversi contenuti.

JBOSS ha tre terminali di output generici per accedere ai servizi esterni: il terminale di db è usato per accedere a diversi database; il terminale FS è usato per accedere all'archiviazione di file condivisi (mediante NFS); e il terminale AUX è creato per l'invio dei messaggi di posta elettronica a un server SMTP.

Il terminale di log può essere usato per connettere JBOSS a un file system condiviso dove JBOSS può archiviare i file di log.

La configurazione del server è fornita dalle proprietà. Queste proprietà sono progettate per coprire la maggior parte degli utilizzi in una semplice configurazione. Nella maggior parte dei casi, solo alcune proprietà devono essere impostate su valori non predefiniti.

Name

Ultima versione

JBOSS

2.0.3-1

JBOSS64

2.0.5-1

Risorse

Versione a 32 bit

Risorsa

Minimo

Massimo

Predefinito

Testato

CPU

0.1

16

0.25

-

Memoria

160 MB

4 GB

1 GB

-

Larghezza di banda

1 Mbps

2 Gbps

250 Mbps

-

Versione a 64 bit

Risorsa

Minimo

Massimo

Predefinito

Testato

CPU

0.1

16

0.25

-

Memoria

160 MB

32 GB

1 GB

-

Larghezza di banda

1 MbB

2 GB

250 MB

-

Requisiti di memoria per JBOSS

Le applicazioni Java di solito richiedono un quantitativo maggiore di RAM per poter funzionare correttamente e il quantitativo di memoria richiesto da JBOSS dipende dai requisiti delle applicazioni in esecuzione. Se la memoria disponibile non è sufficiente, JBOSS potrebbe bloccarsi o non funzionare correttamente. In caso di crash, viene registrato un messaggio sul dashboard.

Terminali

Name

Direzione

Protocollo

Description

in

in

HTTP

Serve le richieste HTTP che vengono dai client Web.

db

out

Qualsiasi

Accesso a un server del database.

L'utilizzo è definito dagli script che risiedono sul volume di contenuto, se presenti. Se non viene utilizzato, il terminale può rimanere non connesso.

fs

out

NFS

Accesso a un file system di rete per l'archiviazione dei file condivisi, consentendo un accesso ai file di scrittura/lettura su NFS.

Il server connesso deve avere una condivisione di lettura/scrittura denominata /mnt/data. Il file system remoto montato è 'visto' come /mnt/fs nello spazio di file system dell'appliance. Se non viene utilizzato, il terminale può rimanere non connesso.

log

out

CIFS

Accesso a un file system di rete basato su CIFS per l'archiviazione dei log IIS.

Il server connesso deve permettere accessi anonimi e avere una condivisione di lettura/scrittura denominata shared. Se non viene utilizzato, il terminale può rimanere non connesso.

aux

out

Qualsiasi

Accesso a un server SMTP per l'invio della posta elettronica in uscita.

Se non viene utilizzato, il terminale può rimanere non connesso.

net

out

Qualsiasi

Output di gateway per l'accesso di subnet.

Se non viene utilizzato, il terminale può rimanere non connesso.

mon

out

CCE

Invia le statistiche sull'utilizzo delle risorse e le prestazioni.

Se non viene utilizzato, il terminale può rimanere non connesso.

Volumi

Name

Description

contenuto

Un volume di solo lettura o lettura/scrittura per l'archiviazione di applicazione.

Questo volume è utilizzato solo se la proprietà content_on_fs è impostata su No. In tal caso, il volume è obbligatorio.

Se content_on_fs è impostato su yes ed esiste il volume di contenuto, l'appliance non verrà avviata.

Proprietà

Proprietà generali

Name

Tipo

Description

jboss_env

Stringa

Una delle quattro modalità dell'operazione:
JBoss 4, JDK 5 - JBoss versione 4.2.3, JDK versione 1.5 aggiornamento 22
JBoss 4, JDK 6 - JBoss versione 4.2.3, JDK versione 1.6 aggiornamento 21
JBoss 5, JDK 5 - JBoss versione 5.1.0, JDK versione 1.5 aggiornamento 22
JBoss 5, JDK 6 - JBoss versione 5.1.0, JDK versione 1.6 aggiornamento 21.
Predefinito: JBoss 4, JDK 5

jboss_cfg

Stringa

Configurazione di JBoss. I valori possibili sono:
minimo - configurazione 'minima' predefinita di JBoss
predefinita - configurazione 'predefinita' predefinita di JBoss
tutto - configurazione 'totale' predefinita di JBoss
senza capo - configurazione 'predefinita' ove i componenti Tomcat e i servizi Web sono stati rimossi
tutto senza capo - configurazione 'totale' ove i componenti Tomcat e i servizi Web sono stati rimossi
web - configurazione con solo i componenti Tomcat e i servizi Web abilitati, usata per i frontend Web.
personalizzata - configurazione definita dall'utente. È necessario creare una cartella denominata JBOSS nella root del volume di contenuto o del file system del terminale fs. Tutte le cartelle necessarie (almeno quelle conf, deploy e libs) devono essere inserite in questa cartella.

Predefinito: default.htm

heap_size

Int

Valore di memoria allocata per l'heap di Java (opzioni di -Xms e -Xmx). Se questa proprietà è uguale a '0', il valore è calcolato automaticamente da i JBOSS (70% circa di RAM). Se questa proprietà è vuota, JBOSS non passa proprietà le proprietà -XMs e -XMx a JVM e tali proprietà possono essere specificate direttamente dall'utente nella proprietà di java_opts.
Predefinito: 0

perm_size

Int

Quantità di memoria allocata per gli oggetti permanenti di Java (opzioni -XX:PermSize e -XX:MaxPermSize). Se questa proprietà si equivale 'a 0', il valore è calcolato automaticamente da JBOSS (20% circa di RAM). Se questa proprietà è vuota, JBOSS non passa proprietà le proprietà XX:PermSize e -XX:MaxPermSize a JVM e tali proprietà possono essere specificate direttamente dall'utente nella proprietà di java_opts.
Predefinito: 0

java_opts

Stringa

Questa stringa è aggiunta alla variabile di ambiente JAVA_OPTS prima dell'avvio di JVM. Le opzioni e i parametri aggiuntivi possono essere specificati qui (ad es. dimensione di heap, dimensione di perm, opzioni di debug. ecc.).
Impostazione predefinita: (vuoto).

tcp_port

Numero intero

La porta che JBOSS ascolta per le connessioni in entrata.
Predefinito: 8080

app_base

Stringa

Directory per le applicazioni distribuibili dall'utente, relative alla radice dell'origine di dati (volume di contenuto montato o condivisione montata su NFS).
Predefinito: distribuzione.

content_on_fs

Stringa

Specifica se il contenuto è relativo al file system nel terminale FS oppure se è sul volume di contenuto.
Predefinito: off (implica che il contenuto è sul volume di contenuto).

fuso orario

Stringa

Specifica il fuso orario usato nell'appliance. Se questa proprietà è vuota, il fuso orario non è modificato e viene lasciato com'è. Un elenco dei fusi orari supportati è disponibile qui. Predefinito: vuoto

Registrazione delle proprietà

Name

Tipo

Description

logs_enabled

Stringa

Abilita o disabilita completamente la registrazione. I valori validi sono yes o no. Se il terminale di log non è connesso, e questa proprietà è impostata su yes, JBOSS non riesce a avviare.
Predefinito: no

logs_dir

Stringa

Directory in cui i log vengono archiviati relativa alla radice della condivisione di log.
Predefinito:_(empty)_.

log_filename

Stringa

Nome di file per il file di log.
Predefinito: jboss.log.

log_level

Stringa

Livello di registrazione.

Valore predefinito: debug

Proprietà di cluster

Name

Tipo

Description

partition_name

Stringa

Il nome di una partizione. Tutte le istanze di JBOSS sulla griglia che hanno lo stesso nome di partizione fanno parte di uno stesso cluster. Se questa proprietà è vuota, il supporto di cluster è disabilitato. Impostazione predefinita: (vuoto)

Uso tipico

Server web/server di applicazione

Questo è il modo più semplice per utilizzare un'appliance di JBOSS. Un gateway di IN dirige tutto il traffico HTTP in entrata all'appliance di JBOSS. In questo scenario, JBOSS usa un volume di contenuto locale.

Uso di JBOSS esempio 1

Appliance in uso:

Proprietà in uso:

Proprietà

Valore

Description

jboss_env

JBoss 4, JDK 5

Ambiente di JBoss in uso.

jboss_cfg

default

Configurazione predefinita di JBoss.

tcp_port

80

Porta predefinita per HTTP.

app_base

contenuto

Le applicazioni sono localizzate nella sottodirectory in /contenuto del volume di dati.

content_on_fs

off

Il contenuto è localizzato sul volume locale.

logs_enabled

no

Nessuna registrazione.

Server web/applicazione semplice con archivio di dati, database e monitoraggio esterni

Questo è un esempio più complesso che utilizza l'archiviazione di dati esterna, un'appliance di database e un'appliance di monitoraggio.

Uso di JBOSS esempio 2

Appliance in uso:

Proprietà in uso:

Proprietà

Valore

Description

jboss_env

JBoss 5, JDK 6

Ultimo ambiente JBoss in uso.

jboss_cfg

default

Configurazione predefinita di JBoss.

tcp_port

80

Porta predefinita per HTTP.

app_base

contenuto

Le applicazioni sono localizzate nella sottodirectory in /contenuto del volume di dati montato su NFS.

content_on_fs

on

Il contenuto è localizzato sul volume montato di NFS.

logs_enabled

Con registrazione.

logs_dir

/jboss_logs

I file di log sono localizzati nella sottodirectory /jboss_logs/ dell'appliance di NAS.

log_filename

jboss-runtime.log

File di log denominato "jboss-runtime.log".

log_level

EMERG

Sono registrati soltanto i messaggi di emergenza.

Server di applicazioni con frontend

In questo esempio, l'appliance WEB6 di frontend elabora il contenuto statico e ridirige tutte le richieste per il contenuto generato dinamicamente all'appliance di JBOSS di back-end.

Appliance in uso:

Proprietà in uso:

Proprietà

Valore

Description

jboss_env

JBoss 4, JDK 5

Ambiente di JBoss in uso.

jboss_cfg

default

Configurazione predefinita di JBoss.

tcp_port

8080

Standard JBoss TCP port.

app_base

contenuto

Le applicazioni sono localizzate nella sottodirectory in /contenuto del volume di dati.

content_on_fs

off

Il contenuto è localizzato sul volume locale.

logs_enabled

no

Nessuna registrazione.

Complesso che ospita un ambiente con frontend e tollerante agli errori, database e server di backend.

Questa è un'applicazione complessa con un frontend di cui viene creato un cluster, database multipli di cui viene creato un cluster e un backend di JBoss.

Il gateway di input di gw4 riceve le richieste in entrata e le inoltra allo switch dell'URL sw1 che separa le richieste di contenuto statico (inviato attraverso i terminali di output 1-3, attraverso l'utilità di bilanciamento del carico lb1, e quindi i server di frontend Web web1 e web2) dalle chiamate di applicazione (inviate ai terminali di output 5-7, attraverso l'utilità di bilanciamento del carico di backend lb2, e quindi i server di applicazioni JBoss AppSrv4 e AppSrv5). La web farm di frontend (web1 e web2) elabora le richieste in entrata e risponde con contenuto statico o inoltra le richieste ai server di backend tramite la seconda utilità di bilanciamento del carico lb2. I server di frontend usano appliance di database MySQL db_1_1 e db_1_2 con cluster. La seconda utilità di bilanciamento del carico lb2 bilancia il traffico fra le appliance di JBoss con cluster AppSrv4 e AppSrv5. Queste usano le appliance di database con cluster db_2_1 e db_2_2. L'archiviazione di data è fornita mediante l'appliance di NAS.

Appliance in uso:

Proprietà in uso:

Proprietà

Valore

Description

jboss_env

JBoss 5, JDK 6

Ultimo ambiente JBoss in uso.

jboss_cfg

tutti

configurazione 'completa' di JBoss, inclusi i cluster.

tcp_port

8080

Porta predefinita per JBoss.

app_base

contenuto

Le applicazioni sono localizzate nella sottodirectory in /contenuto del volume di dati montato su NFS.

content_on_fs

on

Il contenuto è localizzato sul volume montato di NFS.

logs_enabled

no

Nessuna registrazione.

Software open source e di terze parti utilizzato all'interno dell'appliance

JBOSS e JBOSS64 utilizzano i seguenti pacchetti open source di terze parti oltre ai pacchetti open source di terze parti utilizzati rispettivamente dalle loro classi di base LUX6 e LUX64

Software

Versione

Modificato

License

note

JBoss

4.2.3.GA

No

LGPL

pagina iniziale

JBoss

5.1.0.GA

No

LGPL

pagina iniziale

JDK

6u21

No

Oracle

disponibile sul sito Web di Oracle

JDK

1.5.0_22

No

Licenze Sun Community Source License e Java Research Licence

disponibili all'indirizzo http://www.oracle.com/technetwork/java/index.html/

Nativo JBoss

2.0.9

No

LGPL v2.1, alcune parti in GPL v2.0, Apache v2.0, licenza di Sleepycat e Common Public Licence v1.0

N/A

samba-client

3.5.10-125.el6

No

GPLv2

N/A

samba-common

3.5.10-125.el6

No

GPLv2

N/A