Una delle cose più irritanti dell'utilizzo di GAE per una nuova app sta avendo a che fare con istanze che vengono ripristinate se nessuno ha colpito i server in 15 minuti. Dal momento che l'app è nuova o ha pochi utenti, ci saranno periodi di grande latenza per alcuni utenti che non hanno idea che le istanze siano "spun up"Google App Engine: ridimensionamento automatico con istanza sempre attiva?
Per quanto vedo, queste opzioni si basano su il docs:
Usa manual-scaling
e impostare il numero di istanze per 1
.
Quando si utilizza manual-scaling
, qualunque numero di istanze lo si imposta è quello che si avrà - non di più, né di meno. Questo è chiaramente inefficiente come si può pagare per le istanze non utilizzate e le istanze non vengono aggiunti automaticamente/rimosso come traffico aumenta/diminuisce
Usa basic-scaling
e impostare idle-timeout
a qualcosa come 24 ore o 48 ore.
Ciò manterrebbe l'istanza in esecuzione finché qualcuno interroga l'API almeno una volta entro tale periodo di tempo.
Utilizzare automatic-scaling
con min-idle-instances
e richieste di riscaldamento abilitate.
Questo non funziona come previsto. Secondo questi docs:
se la vostra applicazione è al servizio senza traffico, la prima richiesta per l'applicazione sarà sempre una richiesta di carico, non una richiesta di riscaldamento.
Questo non risolve il nostro problema perché se istanze zero sono in esecuzione, quindi non c'è nulla da riscaldare in primo luogo. In questo modo si ottiene ancora la latenza sulla prima richiesta.
L'effetto desiderato mi piacerebbe avere è di avere sempre un'istanza in esecuzione e quindi scalare da lì se il traffico è aumentato (e ovviamente scala verso il basso, ma mai scendere sotto un esempio). Sarebbe come il ridimensionamento automatico ma con 1 istanza sempre in esecuzione.
E 'possibile in GAE? O mi sta sfuggendo qualcosa?
Per ora, la mia soluzione temporanea è quella di impostare la mia app su manual-scaling
con 1 istanza, quindi almeno la mia app è utilizzabile per i nuovi utenti.
Un po 'hacker ma: Configurare un controllo sanitario tramite lo stackdriver.Richiesta gratuita ogni pochi minuti per mantenere viva l'istanza – zapl
@zapl potresti fornire ulteriori informazioni su come impostare esattamente questo? – Micro
https://cloud.google.com/monitoring/quickstart-lamp#gs-checks (o qualsiasi altro controllo di uptime che emette periodicamente richieste di http (s) semplici) – zapl