buona risposta da Gaurav, ma ho voluto aggiungere un po 'più in dettaglio, come penso che ci potrebbe essere un po 'di confusione sui ruoli web e dei lavoratori. Ogni ruolo è una definizione per un gruppo di macchine virtuali che fanno la stessa cosa, come costruita da voi (voi non trattare con il sistema operativo - è sufficiente kickstart la vostra applicazione, e Azure si occupa della VM stessa).
Quando un Service Cloud è in esecuzione, ci sarà un minimo di un'istanza di ogni tipo di ruolo. Quindi nel tuo caso, sia con un ruolo web che con un ruolo di lavoro, avrai almeno due macchine virtuali in esecuzione.
Se si sceglie di ridimensionare il proprio ruolo Web per, diciamo, 3 istanze e quindi decidere di ricomporlo in 2 istanze, non è possibile scegliere quale arrestare; questo è curato dal tessuto di Azure. Ricordate che ogni istanza di un ruolo è in esecuzione il codice identico, e Azure traffico di carico-saldi alle istanze di ruolo (attraverso endpoint esterni che si definiscono). L'unica cosa di cui devi preoccuparti è l'arresto. Hai ca. 5 minuti per pulire qualsiasi processo in esecuzione (e si può facilmente prendere una particolare istanza di bilanciamento del carico durante l'arresto, dal momento che si riceve un evento Stopping()
).
Non è possibile arrestare un intero ruolo (ad esempio tutte le istanze di un ruolo) all'interno di un servizio cloud (quindi ... non è possibile eliminare le istanze del ruolo di lavoro lasciando attive le istanze del ruolo Web). Se questo è un requisito, puoi sempre considerare di eseguire il tuo ruolo web in un Servizio Cloud e in un ruolo di lavoro in un altro Servizio Cloud. Se usano le code per passare i dati, tutto funzionerà come prima. Se le istanze del ruolo Web richiedono l'accesso diretto alle istanze del ruolo di lavoro, è possibile inserire entrambi i servizi cloud in una rete virtuale.
Un'altra cosa da considerare: non è necessario avere ruoli separati. Se il costo è un fattore, puoi eseguire tutto il codice nel tuo ruolo web. Impiega poco lavoro per attivare processi/thread aggiuntivi nel tuo ruolo web, durante OnStart()
- ricorda che le istanze di ruolo sono macchine virtuali complete di Windows Server; gestisci quello che vuoi Con una singola definizione di ruolo, il ridimensionamento è un po 'approssimativo: tutto viene ridimensionato.Con ruoli separati, è possibile perfezionare il ridimensionamento (molto più importante quando si costruiscono sistemi più grandi).
fonte
2013-10-15 11:06:28
Grazie per ulteriori chiarimenti ma dopo aver letto sono impressionato che non sono chiari sulla mia immagine del caso, quindi ecco una visualizzazione di My Case è come: Ho creato un Cloud Services come "SampleVM" quando clicchiamo su "SampleVM" nel portale di Azure apre una pagina in cui è presente una scheda multipla come Dashboard, Monitor, Configura ecc. e c'è un nome di tabulazione "Istanze" quando ho cliccato su di esso mostra un nuovo frame dove diplica le stesse schede e di seguito che c'è 2 ... – user2881983
... lo slot uno è Production e l'altro è Staging e quando faccio clic su Staging che visualizza una tabella in cui vengono visualizzati 2 nodi/vm/istanze e lo stato mostra che è in esecuzione questa è solo la visualizzazione della mia immagine del caso ..... Ora sono in grado di avviare/arrestare "SampleVM" tramite il comando powershell a causa del quale anche le istanze in esecuzione/node/VM/Role hanno interrotto ... il mio problema è che voglio solo op/avvia un singolo Ruolo/VM/nodo/istanze qualsiasi cosa abbiamo chiamato quei nodi creati nello slot di staging ... – user2881983
di seguito è il comando con cui sono in grado di arrestare/avviare il servizio cloud "Stop-AzureService -ServiceName" SampleVM " -Slot Staging "...... Per favore ora getta un po 'di luce su questo e fornisci qualche aiuto o suggerimento su come posso fermare/avviare una particolare istanza in questo particolare nome di servizio Cloud" SampleVM ". – user2881983