Il mio compito corrente è quello di configurare un sistema che estrae le notifiche a utenti specifici in base a una pianificazione prestabilita. Dopo aver affrontato il problema delle notifiche push, sto cercando di mettere insieme un sistema che invierà regolarmente tali notifiche push. Poiché la nostra infrastruttura è basata su un cluster Kubernetes popolato con contenitori effimeri, una VM con cron non è possibile, quindi sono arrivato a due possibili soluzioni:
- Scrivi un processo che si trova in un contenitore Docker e su una pianificazione regolare usando cron, esegui l'attività per determinare quali notifiche inviare e poi inviarle fuori
- Scrivere un piccolo processo che determina quali notifiche devono essere inviate al momento attuale e pianificarle come un Kubernetes cron job
La prima sembra essere un'implementazione relativamente semplice che sarebbe implementata allo stesso modo in una VM e in un contenitore Docker, ma la mia preoccupazione è che, in un ambiente in cui i pod non dovrebbero durare a lungo, alcuni eventi potrebbe essere perso. La soluzione di Kubernetes, da quel punto di vista, sembra più robusta dal momento che la pianificazione avviene a un livello superiore rispetto al contenitore reale. Lo script attivato di per sé sarebbe anche più semplice in quanto sarebbe un processo one-off che termina e poi uccide il contenitore fino al prossimo runtime pianificato.
In questo momento mi sto orientando verso la seconda soluzione, ma se qualcuno ha qualche esperienza nel mettere in pratica questo tipo di cose sarebbe bello sentire alcune altre prospettive su come implementare questo tipo di server.