Quando un utente accede a un sistema informatico su Internet, potrebbe utilizzare la tecnologia di affinità del server sottostante. Questa è una tecnica in cui un singolo utente è legato a un server di computer specifico su Internet. Questa correlazione uno a uno è in genere necessaria per le applicazioni informatiche che memorizzano informazioni critiche su un individuo. Alcuni esempi includono sistemi di pagamento delle bollette online, servizi bancari e al dettaglio.
L’affinità del server è una tecnica informatica in cui le informazioni sui clienti vengono temporaneamente salvate su un dispositivo informatico per consentire il completamento delle transazioni di vendita online. Questo è più spesso utilizzato nei programmi di vendita al dettaglio. Garantisce che una transazione rimanga intatta sul server fino al completamento dell’acquisto.
La maggior parte delle applicazioni informatiche di grandi dimensioni è distribuita su molti cluster di server. Questo processo distribuito richiede una forma di affinità del server per garantire che l’attività della sessione dell’utente sia disponibile per ogni richiesta. Un sistema di bilanciamento del carico in genere gestisce questo processo in modo simile a un controllore automatico del traffico. Man mano che ogni richiesta successiva viene interpretata, il servizio di bilanciamento del carico determina quale server deve gestire il processo.
Esistono molti modi per far funzionare l’affinità del server. Una delle tecniche più utilizzate è nota come gestione delle sessioni appiccicose. Questo è un processo in cui le informazioni sulla sessione dell’utente vengono archiviate nella memoria locale del server che ha avviato la transazione iniziale. Queste informazioni vengono salvate anche sul computer locale per ogni richiesta aggiuntiva come cookie. Se l’utente effettua ulteriori richieste, viene automaticamente indirizzato al server che ha avviato la transazione.
L’affinità del server pone alcune limitazioni a un’applicazione per computer. Questa tecnica in genere influisce sulle prestazioni, sulla flessibilità e sull’affidabilità. Quando un programma utilizza questo approccio, forza le richieste ad andare a server specifici nel cluster. Se questi server diventano sovraccarichi o non sono disponibili, l’utente riceverà in genere un messaggio di errore che il sito Internet è inattivo, anche se sono disponibili altri server.
Quando un sistema informatico distribuito è veramente bilanciato dal carico, ogni richiesta viene instradata a un server diverso. Questo approccio al bilanciamento del carico viene ridotto quando vengono applicate le tecniche di affinità del server. Il servizio di bilanciamento del carico è costretto a inviare una richiesta a macchine specifiche, il che può causare il sovraccarico di richieste in una casella.
È importante considerare altre opzioni prima di implementare soluzioni di affinità server. Questo in genere limita le prestazioni e la scalabilità di un’applicazione basata su Internet, il che influisce direttamente sull’utilizzo dell’applicazione. Alcune opzioni migliori includono sia l’archiviazione della memoria locale che le tecniche di archiviazione del database che consentono la richiesta senza stato all’applicazione.