Condividi tramite


Configurazioni di scalabilità orizzontale

È possibile applicare la scalabilità orizzontale a un'istanza di Microsoft SQL Notification Services su più server. È possibile collocare il generatore, i provider di eventi e i server di distribuzione su server separati. È inoltre possibile collocare i provider di eventi non hosted e le applicazioni di gestione delle sottoscrizioni su server separati. In questo argomento vengono illustrati tre scenari di scalabilità orizzontale comuni, relativi a un'applicazione che richiede maggiore velocità effettiva della distribuzione, a un'applicazione che utilizza un provider di eventi non hosted (indipendente) e a un'applicazione che dispone di un'applicazione di gestione delle sottoscrizioni su un server Web.

Scalabilità orizzontale del server di distribuzione

Per applicazioni con volumi di traffico elevati, è possibile che il server di distribuzione generi un errore, poiché la formattazione delle notifiche è un'operazione che richiede un utilizzo elevato del processore e poiché per la distribuzione delle notifiche è necessario che i sistemi responsabili del recapito dispongano di una quantità di larghezza di banda adeguata. Per ridurre al minimo i colli di bottiglia nella distribuzione, è possibile distribuire su più server il carico di lavoro del server di distribuzione, tramite la definizione di più server di distribuzione nella definizione dell'applicazione. I server di distribuzione selezionano gli elementi di lavoro di distribuzione quando diventano disponibili.

Nella seguente figura viene illustrato un sistema che utilizza tre server per Notification Services. Un server esegue il generatore e i provider di eventi hosted, gli altri due eseguono i server di distribuzione.

Configurazione di scalabilità orizzontale

Si noti che il generatore condivide la stessa posizione dei provider di eventi hosted. Questo perché il processo del generatore non comporta un overhead significativo a livello di CPU o di disco, poiché la maggior parte delle attività del generatore vengono eseguite nel server di database.

[!NOTA] È possibile ospitare il generatore di ogni applicazione su un server dedicato, ma ogni applicazione può utilizzare un solo generatore.

Il numero consigliato di CPU per la formattazione e la distribuzione dipende dalla complessità dell'algoritmo di formattazione e dalle impostazioni di registrazione della distribuzione. Se la formattazione è complessa, un server che ospita un server di distribuzione necessita di maggiore potenza di elaborazione. Se si registra il testo della notifica, i database dell'applicazione devono disporre di sufficiente spazio su disco per archiviare le informazioni registrate. Per ulteriori informazioni, vedere Configurazione della registrazione dei server di distribuzione.

È consigliabile in generale che ogni server di Notification Services e ogni server di database disponga di 2-4 CPU. Nel server di database deve essere disponibile uno spazio su disco sufficiente per l'archiviazione dei dati relativi a eventi, notifiche, sottoscrizioni e sottoscrittori finché il processo di rimozione dei dati completa l'operazione. Inoltre, è consigliabile posizionare i file di database, i file di log e il database tempdb su tre dischi fisici separati.

Provider di eventi non hosted

Il motore di Notification Services può eseguire l'host del provider di eventi, che supporta i provider di eventi standard forniti con Notification Services e i provider di eventi hosted sviluppati dall'utente o da terze parti. Tuttavia, in alcuni casi è meglio o più semplice utilizzare un provider di eventi non hosted, o indipendente. È normale che tali provider di eventi non hosted vengano eseguiti su server separati, ad esempio server Web.

I provider di eventi non hosted utilizzano l'API di Notification Services per connettere i database e per inoltrare gli eventi, ma non richiedono il motore di Notification Services. L'utilizzo di un provider di eventi non hosted su un server separato richiede l'installazione dei componenti client di Notification Services e la registrazione dell'istanza sul server, ma non è necessario creare il servizio Windows che esegue il motore di Notification Services.

Nel diagramma seguente viene illustrato un sistema con un provider di eventi non hosted remoto.

Configurazione server con provider di eventi remoto

Per informazioni sulla distribuzione, vedere Distribuzione di un provider di eventi non hosted.

Interfacce di gestione delle sottoscrizioni

Analogamente ai provider di eventi non hosted, le interfacce di gestione delle sottoscrizioni utilizzano l'API di Notification Services per connettere i database e per inoltrare gli eventi, ma non richiedono il motore di Notification Services. Su un server, ad esempio un server Web, che ospita interfacce di gestione delle sottoscrizioni, è necessario installare i componenti client di Notification Services e registrare l'istanza sul server che ospita un'applicazione di gestione delle sottoscrizioni, ma non è necessario creare il servizio Windows.

Nel diagramma seguente viene illustrato un sistema con un'applicazione di gestione delle sottoscrizioni remota.

Configurazione per applicazioni di sottoscrizione remote

Per informazioni sulla distribuzione, vedere Distribuzione di un'interfaccia di gestione delle sottoscrizioni.

Vedere anche

Attività

Scenario: Distribuzione con scalabilità orizzontale

Concetti

Configurazioni hardware
Considerazioni su Notification Services
Considerazioni sui database
Pianificazione delle risorse del database

Guida in linea e informazioni

Assistenza su SQL Server 2005