disconoscimento
Spero di non calpestare nessuno o offendere gli appassionati di entrambi i concetti
sfondo
Ho cercato differenze reali tra l'architettura orientata ai servizi e i microservizi, senza trovare una risposta chiara.
Ho letto cose come:
- gli effetti collaterali della SOA
- La SOA è anti-pattern
- I microservizi sono venuti per correggere gli errori della SOA
- Gli ESB non sono in realtà ESB invece sono EAI
- Fiducia eccessiva nei broker di messaggi
- I venditori stanno abusando del concetto di SOA e stanno provando a vendere i loro prodotti
- La SOA cresce in maniera incontrollata
Tuttavia, nulla definisce chiaramente le differenze architettoniche tra l'architettura orientata ai servizi (come concetto) e i microservizi (come concetto)
Secondo quello che ho capito, entrambi hanno:
- Fornitori di servizi, facendo solo una cosa
- Service Gateway / ESB esponendo tali servizi ai consumatori
- Consumatori di servizi, accesso ai servizi tramite ESB / Service Gateway
Domanda
Quindi, c'è qualcosa di diverso da rietichettare la SOA nei microservizi? è un vincolo tecnologico posto per impedire ai microservizi di diventare macro?
Nota: non sto cercando opinioni, solo fatti concreti, speriamo in punti elenco
Riferimenti
- Domande sull'ingegneria del software
- Sito di Martin Fowler (penso che lo odia alla grande)
- Informazioni sul mondo
- Sito Web di Michael Fethers
- Stack Overflow Questions
Aggiornare
Sembra che un simile dibattito si sia verificato in una domanda di overflow dello Stack , con opinioni divise tra microservizi o meno sono un'architettura orientata ai servizi sotto mentite spoglie.
Conclusione dalla domanda SO:
- La SM è un caso speciale di SOA
- Gli Stati Uniti approvano servizi di hosting di applicazioni di dimensioni inferiori
- La SM dipende dalla tecnologia (l'uso di HTTP piuttosto che di opzioni di protocollo aperto)
- Gli Stati membri si affidano alla tecnologia per applicare la disciplina (distribuzione automatica dei servizi)
- MS considera ESB (male), ma utilizza gateway API che IMHO è un tipo di ESB
Ciò conclude che la SM è SOA, se è vero quanto segue:
- La SM supporta la nozione di orchestrazione? Uno o più processi principali gestiscono i flussi di lavoro
- Esiste un livello di broker di messaggi in MS? Una serie di adattatori che traducono i formati dei messaggi dallo spazio dei messaggi dei produttori di servizi ai consumatori di servizi
- I microservizi possono leggere i dati dalle applicazioni monolitiche aziendali? Possono essere API di un'applicazione monolitica? o devono essere applicazioni autonome indipendenti, in grado di funzionare in modo indipendente?
Se la risposta all'ultima domanda fosse negativa, i microservizi non sarebbero in grado di gestire complessi sistemi di flusso di lavoro, ad esempio i sistemi di gestione delle carte di credito o i sistemi di riconciliazione
Martin Fowler's Site (I think he hates it big time)
Non erano i miei sentimenti quando sono andato al suo discorso a Barcellona. È a conoscenza dei compromessi e di come le persone siano passate a questa architettura alla cieca senza considerare che la SM non è adatta a tutti.