Come gestire le richieste di pull si fonde in un ambiente orientato ai servizi che tocca diversi repository?

0

Quindi abbiamo un'architettura di microservizi. Molto spesso rilasciamo funzionalità che richiedono modifiche in diversi repository contemporaneamente. Quali approcci sono i migliori per gestirlo?

Ex. Pull Request 1 dal servizio A dipende da Pull Request 2 dal servizio B. Come possiamo assicurarci che le richieste di pull siano integrate e unite nel sistema in quell'ordine?

Abbiamo una pipeline CD e usiamo git.

    
posta Arturo Diaz 29.03.2018 - 01:06
fonte

1 risposta

0

Qualche teoria:

L'obiettivo per il CD è di fornire modifiche all'ambiente di produzione con la massima velocità. Per fare con successo, tuttavia, la consegna delle funzionalità dovrebbe essere separata dall'attivazione della funzione. Un determinato ambiente deve essere in grado di supportare molte funzionalità non attive incompatibili. La compatibilità delle funzioni può quindi essere gestita al momento dell'attivazione.

L'obiettivo dei microservizi è quello di consentire una maggiore flessibilità in relazione alle dipendenze dei componenti e alla compatibilità delle chiamate tra i componenti. In un monolite, le dipendenze dei componenti devono essere soddisfatte a livello linguistico in modi molto limitati da qualcosa che assomiglia ad un compilatore. Con i microservizi, le dipendenze dei componenti e la compatibilità delle chiamate esistono solo a livello di dati, quindi è possibile utilizzare più lingue e possono essere utilizzate più strategie di evoluzione del modello di dati.

Con questo in mente:

Ovviamente nessuno è perfetto, ma in generale, avere delle dipendenze cross-repo che verranno mostrate nella pipeline è il tipo di abitudine al dolore con cui dovresti uscire e non continuare a soffrire.

Apporta solo modifiche additive ai componenti upstream, in modo che downstream non sia rotto e introduce nuovi componenti quando ciò non è possibile. Metti l'uso delle modifiche dietro i flag di funzionalità, in modo che possano essere distribuite separatamente dall'attivazione. Tieni traccia del grafico delle dipendenze delle funzioni, in modo che l'attivazione delle funzioni possa essere eseguita in sicurezza per gli utenti nell'ordine corretto.

    
risposta data 30.03.2018 - 06:05
fonte

Leggi altre domande sui tag