Divisione di un'app Rails / Ruby su più server

3

Recentemente abbiamo spostato una grande applicazione su due macchine, entrambe con la stessa base di codice.

I. Macchina A

  • Server Web per applicazione pubblica
  • Riceve i richiami del web hook dal nostro ESP
  • Gestisce alcuni lavori di elaborazione elenchi di grandi dimensioni (fogli di lavoro caricati con dati)

II. Macchina B

  • Gestisce una serie massiccia di lavori (in background) ma, principalmente, si concentra sulla creazione e sull'assemblaggio di newsletter
  • Esegue tutta l'integrazione con la nostra piattaforma NetSuite
  • Esegue tutti i lavori di manutenzione del sistema (leggi: DB)

Per me, avere queste due app che eseguono la stessa base di codice (una grande applicazione Rails monolitica) sembra "sbagliata".

Mi chiedo se qualcuno ha dei consigli su come suddividere meglio il codice per queste due app. Mentre entrambi hanno bisogno dello stesso DB e, in definitiva, dello stesso codice modello, la macchina B non ha bisogno di controllori e viste e si sente sprecato nell'utilizzo di un'app Rails full stack per le sue attività.

Mi è venuto in mente un paio di cose, ma non sono sicuro se sto cercando di risolvere un problema che non esiste:

  • Suddividi i modelli in un sottomodulo su git e includi in entrambe le app
  • Costruisci l'app Mahcine B in semplice Ruby o in una struttura più leggera come Sinatra (dove potrei usare ActiveRecord con Sinatra in combinazione con un sottomodulo per la cartella del modello).

Sono nuovo in questo scenario e apprezzo qualsiasi feedback o direzione! Grazie.

    
posta craig.kaminsky 12.08.2014 - 15:49
fonte

0 risposte

Leggi altre domande sui tag