Domanda

Voglio sviluppare un framework cluster multi-server che funzionerà in modo simile ai passaggi seguenti per il flusso di messaggi.

Dal client

  • Il server gateway riceve il messaggio
  • Gateway Server invia un messaggio ACK (UDP)
  • Il messaggio viene personalizzato deserializzato dal file binario in un oggetto tramite una factory
  • Il messaggio viene quindi instradato a un server secondario nel cluster (basato su config) e invia l'oggetto al server secondario tramite WCF
  • Il messaggio è gestito sul server secondario.

Dal server

  • Il server secondario crea un messaggio e lo invia al server gateway
  • Il binario del server gateway serializza il messaggio
  • Il server gateway invia il file binario al client e attende un messaggio ACK (UDP)

I server saranno configurati tramite file .config per puntare ai servizi, localmente nella stessa applicazione (il WCF sarà inizializzato) o altri sistemi.

Qualcuno ha lavorato per creare qualsiasi tipo di architettura come questa, e in tal caso, quali sono alcuni dei problemi che hai riscontrato?


Modifica
Il sistema sarà il lato server verso un protocollo già preesistente, quindi qualsiasi protocollo client-server è essenzialmente intoccabile, ma include la gestione dello stato (il client invia la sessione ad ogni chiamata), la crittografia, il routing del server e protezione dei pacchetti.


Modifica
Qualcuno può anche fornire un collegamento a un progetto open source che utilizza il clustering in .Net?

È stato utile?

Soluzione

  

Modifica Qualcuno può anche fornire un link   a un progetto open source che utilizza   clustering in .Net?

Controlla questa applicazione di esempio . Secondo il sito ...

  

Tecnologie dimostrate   Design orientato al servizio, di livello n con   ASP.NET e WCF

     
      
  • Pulita separazione dell'interfaccia utente, dei servizi aziendali e dell'accesso al database
  •   
  • Progettazione e messa a punto per le prestazioni
  •   
  • Scalabile orizzontalmente tramite clustering dinamico
  •   
  • Gestione centralizzata della configurazione dei nodi di servizio in cluster
  •   

Altri suggerimenti

Il mantenimento dello stato della sessione attraverso transazioni a lungo termine può diventare un grosso ostacolo. Dovrai assicurarti che la tua soluzione di bilanciamento del carico sia in grado di considerare o accogliere una sessione iniziando su un server e completando su un altro. Ciò può essere ottenuto condividendo lo stato tramite una fonte esterna, come un cookie sul browser / client o una voce su un server di database comune. In alternativa, molte delle soluzioni di bilanciamento del carico hardware utilizzeranno "sessioni appiccicose". per garantire che il client ritorni sempre sullo stesso server (basato sull'indirizzo IP per esempio)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top