Argomento precedente: TOMCAT, TOMCAT64: server di applicazioni

Argomento 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 di utente

Min. 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. I percorsi ai documenti di applicazione sono configurabili in modo che lo stesso volume venga condiviso fra più server Web e altre appliance che servono contenuto diverso.

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à. Le proprietà sono state progettate per coprire la maggior parte degli utilizzi in un sistema facile da configurare sul quale sarà necessario modificare soltanto poche impostazioni di default.

Nome

Ultima versione

JBOSS

1.0.2-1

JBOSS64

1.0.2-1

Limite

Risorse

Versione a 32 bit

Risorsa

Minimo

Massimo

Predefinito

Testato

CPU

0,1

16

0,25

-

Memory (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

-

Memory (Memoria)

160 MB

32 GB

1 GB

-

Larghezza di banda

1 Mbps

2 Gbps

250 Mbps

-

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. JBOSS può andare in crash o non operare correttamente se non vi è memoria disponibile sufficiente. In caso di crash, viene registrato un messaggio sul dashboard.

Terminali

Nome

Direzione

Protocollo

Descrizione

in

in

HTTP

Serve le richieste HTTP che vengono dai client Web.

db

out

HTTP

Accesso a un server del database. L'uso è definito indipendentemente dagli script che risiedono sul volume di contenuto (se del caso). Questo terminale può essere lasciato non connesso se non è utilizzato.

fs

out

HTTP

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. Questo terminale può essere lasciato non connesso se non è utilizzato.

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. Questo terminale può essere lasciato non connesso se non è utilizzato.

aux

out

HTTP

Accesso a un server SMTP per l'invio della posta elettronica in uscita. Questo terminale può essere lasciato non connesso se non è utilizzato.

net

out

HTTP

Output di gateway per l'accesso di subnet. Questo terminale può essere lasciato non connesso se non è utilizzato.

mon

out

CCE

Invia le statistiche sull'utilizzo delle risorse e le prestazioni. Questo terminale può essere lasciato non connesso se non viene utilizzato.

Volumi

Nome

Descrizione

temp

Un volume di lettura/scrittura obbligatorio per l'archiviazione temporanea. Usato per i file temporanei e la distribuzione di applicazione. La dimensione obbligatoria dipende dalla dimensione delle applicazioni distribuite e dalla frequenza di ri-distribuzione. Questo volume è pulito automaticamente all'avvio dell'appliance. JBOSS monitora lo spazio libero su disco su questo volume e registra i messaggi del dashboard quando la quantità di spazio libero su disco è inferiore al 5% o 2%.

contenuto

Un volume di solo lettura o lettura/scrittura per l'archiviazione di applicazione. Questo volume è usato solo se la proprietà content_on_fs è impostata su no, in questo 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

Nome

Tipo

Descrizione

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. Una cartella denominata JBOSS dovrebbe essere creata nella radice del volume di contenuto o nel file system del terminale di fs. Tutte le cartelle necessarie (e come minimo quelle in conf, deploy e libs) dovrebbero essere incluse 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.).
Predefinito: (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 di fusi orari supportati è disponibile qui .
Predefinito: (vuoto)

Registrazione delle proprietà

Nome

Tipo

Descrizione

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. {valori validi e predefinito richiesto}

Proprietà di cluster

Nome

Tipo

Descrizione

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. Predefinito: (vuoto)

Uso tipico

Server web/server di applicazione

Questo è il modo più semplice di 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

Descrizione

jboss_env

JBoss 4, JDK 5

Ambiente di JBoss in uso.

jboss_cfg

predefinito

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

Descrizione

jboss_env

JBoss 5, JDK 6

Ultimo ambiente JBoss in uso.

jboss_cfg

predefinito

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 WEB5 di frontend elabora il contenuto statico e ridirige tutte le richieste per il contenuto generato dinamicamente all'appliance di JBOSS di back-end.

Uso di JBOSS esempio 3

Appliance in uso:

Proprietà in uso:

Proprietà

Valore

Descrizione

jboss_env

JBoss 4, JDK 5

Ambiente di JBoss in uso.

jboss_cfg

predefinito

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.

Uso di JBOSS esempio 4

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). Il farm Web di frontend (web1 e web2) elabora le richieste in entrata rispondendo al contenuto statico oppure inoltrando le richieste ai server di backend attraverso 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

Descrizione

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.