Che cos'è l'affinità del server?
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 one-to-one è 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 servizi al dettaglio.
L'affinità del server è una tecnica informatica in cui le informazioni dei clienti vengono temporaneamente salvate su un dispositivo per consentire il completamento delle transazioni di vendita online. Questo è spesso usato nei programmi di vendita al dettaglio. Assicura che una transazione rimanga intatta sul server fino al completamento dell'acquisto.
La maggior parte delle applicazioni per computer di grandi dimensioni sono distribuite su molti cluster di server. Questo processo distribuito richiede una forma di affinità del server per garantire che l'attività di sessione dell'utente sia disponibile per ogni richiesta. Un servizio di bilanciamento del carico in genere gestisce questo processo in modo simile a un poliziotto del traffico automatizzato. Man mano che viene interpretata ogni richiesta successiva, il 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 sono archiviate nella memoria locale del server che ha avviato la transazione iniziale. Queste informazioni vengono inoltre salvate 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 in un'applicazione del computer. Questa tecnica influisce in genere su prestazioni, flessibilità e affidabilità. Quando un programma utilizza questo approccio, impone alle richieste di andare a server specifici nel cluster. Se questi server diventano sovraccarichi o non disponibili, l'utente riceverà in genere un messaggio di errore che indica che il sito Web è inattivo, anche se sono disponibili altri server.
Quando un sistema di computer distribuito è realmente bilanciato in base al 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 bilanciamento del carico è costretto a inviare richieste a macchine specifiche, il che può causare un sovraccarico di una scatola con richieste.
È importante considerare altre opzioni prima di implementare le soluzioni di affinità del server. Ciò limita in genere 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 sia le tecniche di archiviazione del database che consentono la richiesta stateless all'applicazione.