Come rendere configurabili gli URL del servizio back-end

0

Prima di tutto, parlerò un po 'dello scopo di questa domanda. Abbiamo diversi box linux sulla stessa rete su cui sono installati diversi servizi, alcune volte queste scatole vengono dismesse e nuove scatole prendono il loro posto. Anche i servizi devono essere spostati insieme alle scatole thoxe. Ora il mio portale web interno che è costruito in angular.js deve essere ridistribuito con il nuovo set di url hardcoded per accedere ai servizi nelle nuove caselle.

Sto cercando di aggirare questo problema creando una pagina che potremmo usare per modificare il database di back-end e attivare il sito Web per ricaricare i mapping url dal DB. Quindi, nel caso in cui vi sia un movimento di casella, gli URL dei servizi possono essere prelevati dinamicamente cambiando la configurazione. Tutta la configurazione è memorizzata in un database.

Non ho ancora capito la parte che causa il trigger. È questo il modo corretto di creare l'installazione o sto sbagliando tutto. Con le mie conoscenze limitate in web dev questo è tutto ciò che potrei inventare.

Qualsiasi suggerimento o documento di riferimento sarebbe molto utile.

Grazie!

    
posta deb 19.02.2015 - 12:44
fonte

2 risposte

0

Risposta breve:

Inserisci il nome per la risoluzione della casella al livello di rete, configura un server DNS come "database" che contiene la tabella della risoluzione o fallo nel router. Un approccio più semplice potrebbe essere quello di impostare i percorsi nel file hosts del proprio portale web. A seconda di come si effettuano le chiamate che potrebbero non richiedere una ridistribuzione.

Risposta più lunga:

Se vuoi fare un cambiamento più grande, un approccio usato nella nuova modalità "cloud" sarebbe avere un negozio statale che tenga traccia della topologia della tua rete. Quindi, se ciascuna applicazione si trovava in un contenitore mobile e il mapping della rete (chiave = hostname su value = indirizzo ip) era in ZooKeeper , quindi il I 'trigger' possono essere osservatori di ZooKeeper in grado di far ruotare i nuovi docker di docker quando viene creato un nuovo nodo figlio nel registro di ZooKeeper.

PS.

  • Esistono altri modi per memorizzare lo stato rispetto a ZooKeeper.
  • Se non si desidera utilizzare contenitori docker, è possibile utilizzare Virtual Machines.
risposta data 19.02.2015 - 14:44
fonte
0

Utilizza CNAME nel tuo DNS interno. Quindi devi solo indirizzare il tuo URL ad es. http://foo-service.example.com/ e lascialo lì.

Quando sposti il servizio dalla macchina A alla macchina B, sposta il CNAME.

    
risposta data 19.02.2015 - 14:37
fonte

Leggi altre domande sui tag