On 04/01/2014 06:44 PM, Daniele Varrazzo wrote:
Il problema di scalabilità che stiamo avendo è che i nostri nodi frontend fanno *tante cose* diverse, con diversi pattern di concorrenza (alcune richieste web che nascono e muoiono, alcuni greenlet a lunga durata, uno molto assetato di cpu...) Secondo me stiamo mettendo in crisi lo scheduler di greenlet con troppi lavori troppo eterogenei. Nell'ottica di suddividere i processi in oggetti più indipendenti un message broker come era orbited mi ci stava troppo bene (per esempio per mettere in un processo esterno quel greenlet assetato: potrebbe mandare i messaggi che genera direttamente alle pagine web passando per il broker e saltando il web server).

Non so quanto lo scenario sia vicino al tuo, comunque ti riassumo il mio orientamento per un sistema web a cui tra un po' dovrei iniziare a lavorare. Per l'esecuzione dei task (di vario tipo e durata) da parte del backend pensavo di affidarmi a celery, mentre per il monitoraggio dei task e la pubblicazione in generale, pensavo di usare socketio lato client e gevent-socketio lato server.
Se qualcuno ha suggerimenti o dritte da darmi, e' il benvenuto :)

--
Marco Buttu

INAF-Osservatorio Astronomico di Cagliari
Via della Scienza n. 5, 09047 Selargius (CA)
Phone: 070 711 80 217
Email: mbu...@oa-cagliari.inaf.it

_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a