Microservizi e modello canonico

8

Quando stavo leggendo sui microservizi su questo sito , ho trovato la seguente dichiarazione. Cosa si intende per uno schema canonico? Non è lo stesso del modello di dominio?

The Microservices Architecture pattern also rejects other parts of SOA, such as the concept of a canonical schema.

    
posta Punter Vicky 08.11.2016 - 03:18
fonte

2 risposte

4

Mi scuso in anticipo per aver fatto affidamento sul commento @ArseniMourzenko, ma una volta che ho iniziato a leggere la Wikipedia ho capito immediatamente cosa Schema canonico significa.

Ecco il commento dell'OP che si concentra sul dubbio reale

I believe even in microservice architecture, the request and response have to comply to some data model.

Alcuni modelli di dati si, ma sembra che l'articolo si riferisca a modelli di dati "condivisi" o "comuni" tra 2 o più servizi.

Lo schema canonico è un modello pensato per salvare i servizi da nelle trasformazioni dei dati di runtime. Inoltre ti salva dalla duplicazione del codice. Ma stai anche abbinando il tuo servizio a un modello di dati esterni. (Vedi i diagrammi nella pagina di Wikipedia linkata sopra)

È una sorta di "linguaggio" comune tra i servizi.

Quindi sembra che l'articolo enfatizzi la totale indipendenza degli Stati membri dall'ecosistema in cui vive.

Prendiamo ad esempio la menzione che fa a ESB.

They also very much avoid using ESBs and instead implement ESB-like functionality in the microservices themselves.

ESB di solito richiede un modello di dati aziendali (messaggi) che sarà comune a tutti gli utenti collegati al bus.

Quindi, tornando all'articolo, sembra che l'autore stia puntando sul fatto che MS rifiuta di essere collegato a qualsiasi sistema esterno (e ai suoi vincoli) .

    
risposta data 15.11.2016 - 18:19
fonte
1

I microservizi riguardano esclusivamente la coesione stretta e l'accoppiamento lento. All'interno di un microservizio, hai una stretta coesione, ma tra i microservizi hai un accoppiamento lento e quindi vuoi evitare schemi condivisi o contratti dati. Se si scopre di disporre di microservizi che effettuano chiamate sincrone tra loro in un modo che richiede di condividere uno schema comune, è possibile indicare che i limiti del servizio sono stati definiti in modo errato.

I microservizi devono essere strettamente allineati ai contesti limitati, nel linguaggio di progettazione basato sul dominio.

    
risposta data 15.11.2016 - 23:11
fonte

Leggi altre domande sui tag