Press "Enter" to skip to content

GOTO 2015 • DDD & Microservices: At Last, Some Boundaries! • Eric Evans


quindi credo che inizierò ora il mio nome è
Eric Evans e io sono meglio conosciuto per il
concetto di design guidato dal dominio che è
DDD e oggi parlerò di a
un certo aspetto o alcuni aspetti di
design guidato dal dominio che penso
applicabile ai micro servizi o forse
dal mio punto di vista le ragioni che io
ho trovato che i microservizi sono eccitanti
opportunità per le persone che cercano di fare
design guidato dal dominio è davvero quello che
Sono più interessato a così partendo I
voglio solo sottolineare brevemente cosa sono
alcune cose che mi hanno interessato
micro servizi e in primo luogo bene io
sicuramente è stato ispirato dalle storie I
sentito parlare di ciò che è stato fatto a Netflix I
penso sia importante a questo punto
riconoscere che il micro servizio è arrivato
molti sapori quindi non penso che il
cose che penso come micro- servizio
sono necessariamente rappresentativi di
tutto ciò che tutti stanno facendo certamente
quello che dico è basato sulla mia comprensione
cosa hanno fatto a Netflix per lo più e il
creazione di un luogo veramente isolato per
una squadra autonoma per lo sviluppo era
l’unica cosa che penso sia stata
più importante per me perché per tanto tempo
come mi ricordo che ho sostenendo
per esempio che una squadra è così
sviluppando qualche pezzo di logica complesso
dovrebbe avere i propri dati isolati
negozio e non dover condividere un po ‘enorme
database che ha una specie di guazzabuglio
di idee di persone diverse su ciò che il
dati dovrebbero essere e così via la
free-for-all di che lo rende molto
difficile da fare sofisticato
modellazione e disegni sottili che possono
risolvere così complessi problemi di business
quella fu una delle prime cose che io
pensato mentre potevamo davvero usarlo
e ho iniziato a cercare di prendere alcune persone
su progetti a cui ero d’accordo
solo che questo diciamo isoliamo a
la logica del business lo ha messo al
fine di un messaggio in coda e dire che non può
condividere i dati con qualsiasi altra cosa tranne
cosa ha inviato attraverso quella coda e vedere
cosa succede ed è stato molto
interessante esperimento di grande successo
è necessario tornare indietro e dire ah lo faremo
vedi che hai ancora una connessione con il
quindi l’altro database non lo è
andare avanti è stato divertente quanto persistente
quegli atteggiamenti erano una delle cose
A proposito di servizi di micro è che sembra
riconoscere il ruvido e tumble di
lo sviluppo delle imprese in un modo che
la maggior parte delle filosofie del software
lo sviluppo non è una cosa che sono
più che stanco di è una sorta di idealista
visualizzazioni dello sviluppo del software e
sistemi software grandi sistemi software
non è così che ci sia così tanto
sta succedendo ed è così ruvido-e-tumble è
la frase che mi viene sempre in mente
ora se quello che vuoi fare è indirizzare
un problema interessante e complesso
con un modello sottile quelle cose sono
fragili quelle cose sono come i fiocchi di neve
e devi avere un modo di avere
quelli esistono all’interno di un generale
situazione ruvida e molto
momenti in cui la gente inizia a parlare di
facendo un design sofisticato ce ne sono alcuni
passi giù per la strada ti rendi conto che
parte dell’idea c’è che il
il mondo intero sarà ridisegnato e
tutto sarà molto elegante e ordinata
e questo non accadrà mai così così se tu
Valorizza il tuo design, quindi dai valore ai modi
isolando quelle cose da quelle
mondo esterno
e devi avere una filosofia
riconosce pienamente la realtà di quell’io
pensa che ci sia una sorta di audacia
alla filosofia dei micro-servizi che
APPELLI davvero a me e penso che
cose come il bestiame, non gli animali domestici e il
l’esercito di scimmie mi ha davvero ispirato
la loro audacia e innovazione ora
queste sono principalmente considerazioni sul runtime
sai che dispieghi qualcosa e quello è
quando lo tratti come sai
bestiame piuttosto che un animale domestico e tu
distribuire le cose e questo è quando bussate
loro giù con le scimmie del caos e così via
avanti quindi ciò che è interessante è questo
la filosofia sembra aver avuto inizio
quella prospettiva di dispiegamento e poi
cambiato il modo in cui le persone fanno effettivamente il
sviluppo e progettazione funzionano e questo è a
diverso sai che è diverso
approccio intendo nel senso di dove
si inizia e dove si finisce poi più
delle filosofie del software che ero
esposto a prima nella mia carriera, penso
è molto interessante è una pausa
passato e talvolta incrementale
le modifiche non funzionano per vari motivi
Sono uno di loro è la nostra mentalità quando
vediamo cambiamenti incrementali che percepiamo
loro come la stessa cosa di prima
la gente non si rende conto che alcuni sottilmente
il diverso concetto è diverso ma quando
hai qualcosa che è un vero radicale
rompere quindi le cose si scuotono davvero
ed è un’opportunità per le persone di pensare
diversamente ciò non significa questo
tutto ciò che microservices persone fanno
sta andando a lavorare, penso lontano
è come ogni cosa nuova che sta per
hanno un sacco di cose sbagliate in corso
in esso, ma è davvero nuovo eccitante
scuotere
quindi con questo avvertimento che penso
i micro-servizi sembrano significare molto
di cose diverse a persone diverse
questo è fondamentalmente da dove vengo
e e le cose che sto per dire
sono basati su quella prospettiva, ora che cosa
è un buon servizio se prendiamo semplicemente una soluzione
di un semplice dire che un servizio è
qualcosa che può consumare messaggi e
produrre messaggi e dentro li dentro
tra all’interno di quel servizio nulla
potrebbe accadere
giusto può avere un sacco di dati o tu
potrebbe avere pochissimi dati che potresti
hanno un sacco di logica molto poca logica
c’è un servizio e quindi immaginiamo
che ci sono due servizi e questi
due servizi utilizzano effettivamente le informazioni
prodotto dall’altra attraverso
messaggi ora la domanda che chiedo è
come capiscono i messaggi come
capisco un messaggio che è
prodotto da un altro servizio un servizio
che è costruito da una squadra autonoma
giusto una diversa squadra autonoma di
il mio
quindi questi messaggi che stanno inviando
due fuori non sono necessariamente necessariamente
mandandoli specificamente a me ma il
i messaggi che stanno inviando sono in alcuni
linguaggio quindi sto solo etichettando il
messaggi in base al servizio che
li ha prodotti in modo che il messaggio stia arrivando
da un sono in una lingua e il
il messaggio proviene da B o B
linguaggio come li capiscono
ovviamente
il software è scritto in questo modo
che possono interpretare questi messaggi
che possono interpretare qualcuno di quelli
che hanno scelto di consumare ora
comprendere i messaggi richiede alcuni
tipo di contesto questo non è niente
questo è specifico per i micro servizi
solo il modo in cui il linguaggio funziona è possibile
non capisco mai una frase che senti
a meno che tu non conosca il contesto e così quando
e questo è qualcosa che cerco di fare
rendi molto esplicito nel dominio
il design è quello che stiamo facendo modello
che la cosa più centrale di a
il modello è spesso la lingua che tu
crea che ti permette di esprimere il
problema e soluzione molto croccante e a
avere quella chiarezza di linguaggio che hai
rendere chiaro il contesto e in pratica in
software che significa rendere esplicito
confine non la sottigliezza con cui noi
interpretare il contesto nella normale conversazione
che è immensamente complesso ma semplice
tracciare una linea attorno a qualcosa e
dire in questo spazio è questo
questa parola significa che questi sono i
regole qui quindi lo chiamo limitato
contesto ora potremmo dire che a e B
sono ciascuno di questi contesti limitati
all’interno di un che stabilisce un confine e
all’interno di B che stabilisce il confine e
dentro di loro hanno definito ciascuno
la loro lingua e abbiamo stabilito un
traduzione tra i due e in questo
caso il modo in cui questa storia sembra essere
stiamo andando a dire che A e B lo fanno
effettivamente collaborano attivamente con ciascuno
altro che è il popolo il popolo
sviluppando a e B con cui collaborano
l’un l’ altro lo chiameremo a
partnership e quel traduttore è un modo
di dire messaggi da un può essere
trasformato in linguaggio B e vice
il versetto e il linguaggio B possono essere trasformati
in un e entrambi si preoccupano di questo
traduzione ora C arriva lungo questo è
un altro servizio e stanno consumando
messaggi provenienti da un ma questo non lo è
quel tipo di mutua collaborazione
relazione che A e B hanno
la C stabilita sta consumando e facendo
qualcosa con questi messaggi ma a
non è interessato a C come sono dentro
B quindi questo è un simmetrico
relazione una sorta di upstream e
relazione a valle e così quando
metti questi in questo diagramma e questo
diagramma inferiore rendono tutto il contesto non
perché mostra tutti questi diversi
contesti e ora si riferiscono mettere un
freccia che dice che questa è la direzione
dove il potere è quello di dire questo
le comunicazioni tra a e B
segui le decisioni che lo fanno
piuttosto dispiaciuto tra a e C segui il
decisioni che non prendono decisioni
che C fa in modo che la freccia punti verso
un ora in una situazione come questa C deve
prendere una decisione come farò a trattare
con ciò il fatto che io non controllo
il tipo di messaggi che sto ricevendo
in questo caso C ha preso la decisione
che si conformeranno a quello che sono io
farà il mio disegno
compatibile con un modo che il messaggio è
la lingua di a sarà una mia lingua
sarà molto simile alla loro lingua lo farò
fare in modo molto simile a loro linguaggio che
sarà molto facile per me consumare
i loro input le loro uscite questo output
da un sembra essere molto utile e lungo
viene D un altro servizio e anche D vuole
consumare il messaggio proviene da a
ma hanno preso una decisione diversa
hanno detto le cose che abbiamo bisogno di
fare all’interno del nostro servizio sono sostanzialmente
diverso da quello che apparentemente l’a
le persone hanno in mente è sufficientemente
diverso nel complesso di cui abbiamo bisogno
controllare il nostro modello che dobbiamo cambiare
la lingua quindi stiamo per mettere un
traduzione significativa in atto ora
c’è una traduzione significativa
tra a e B ma è quello che è
gestito tra i due ei due sono
coordinando il loro sviluppo ma D è
non stanno semplicemente consumando la a
messaggi come vengono così chiamiamo questo e
strato anti-corruzione che sto per costruire
un muretto tra me e te e quello
trasformerà quelle entrate
messaggi in un modulo che userò e
non è affari di nessun altro come questo
lavori penso che tutte queste cose
succede e regolarmente ogni volta che abbiamo
team multipli che si sviluppano indipendentemente
e l’integrazione tra loro è
utile per renderlo esplicito avere a
immagine di ciò che sta succedendo a quella gente
può vederlo ad un livello elevato, naturalmente
micro-servizi l’ idea è che avrai
molti di loro e così ora arriva e e
sta per fornire effettivamente alcuni input
che useranno ma che faranno
questo in un gergo gergale è un po ‘
comune cosa significa è quello per
motivi organizzativi interni forse
il popolo è in grado di dire che abbiamo bisogno di te
per inviarci messaggi in questo modulo ora
questo significa che E è conforme a un
la direzione delle frecce in un contesto
la mappa non corrisponde al flusso di dati
direzione corrispondono al
direzione del potere e sembra essere
in una posizione molto influente quindi C
si conforma a loro mentre consumano ma
come anche lui si conforma e loro sono
fornendo un con informazioni tutto bene
egli è anche andare a inviare questo stessi dati
a D ora D sta ora consumando messaggi in
la lingua da ae da E ma
noterai che non c’è davvero
bisogno di cambiare la mappa del contesto
Mappa del contesto non è una mappa di dove la
i messaggi stanno andando è la mappa di chi
deve capire chi è il linguaggio dove
sono i punti di traduzione e fondamentalmente
che decisione hanno preso sul loro
relazione con l’altra lingua
ora f F sta per consumare il linguaggio di B
ed emette le cose a modo suo, così C sta andando
consumare quelli e deve decidere
bene C ha deciso di conformarsi a F, ma F è
non conforme a B ora potresti dire ah
ora C è conforme a F e a quale
sarebbe un problema se F e a sono
fornendo tipi di informazioni simili
giusto se mi mandassi un annuncio
di film e lì se un è l’invio
un elenco di film e F sta inviando
un elenco di film e ci sto provando
conforme a entrambi i modi di elencare i film
questo sarà un problema ma se uno di loro
mi sta inviando una lista di film e il
l’altro mi sta mandando un po ‘completamente
informazioni diverse diciamo credito
le dichiarazioni delle carte bene non sono un problema
quindi posso adattarmi ad entrambi, quindi
un punto come sappiamo di come
faremo la modellazione per farlo
pratico strumento pratico uno dei
le cose che le persone spesso mancano penso sia
quei modelli devono essere chiari che non lo fanno
bisogno di essere grande uno dei peggiori tipi di
i modelli che ho visto sono il tipo di
modello di impresa o cose che sono
muovendosi in quella direzione dove ogni
pezzo di informazione che qualcuno potrebbe
mai voglia di usare è in qualche modo trova una casa
all’interno di questo enorme schema o dove
stanno elaborando un modo per calcolare
quasi tutto all’interno di un determinato dominio
i modelli più preziosi che ho
creati e utilizzati nella mia carriera sono stati
in realtà abbastanza modesto nel campo di applicazione e questo
si inserisce perfettamente all’interno di questa idea del
contesto limitato abbiamo bisogno di avere molto
definizioni nitide e per questo abbiamo bisogno di a
chiaro anche il contesto limitato
modelli interessanti tendono a fare
asserzioni che semplificano il
interpretazione di ciò che sta accadendo
e le asserzioni richiedono dei limiti
perché tutto ciò di cui sono certo è semplicemente
fare una dichiarazione e dire questo è
questo è vero, questo è sempre vero e tu
mai che tu possa quasi mai fare
affermazioni come quella in generale così
hai bisogno di un confine ma con un limite
contesto puoi rendere tali affermazioni così
ci sono sempre più modelli che è
una buona cosa ed è una cosa che è
molto tipo di parte dell’aria di
micro-servizi penso che sembra
estremamente naturale in quel tipo di a
paradigma ora mentre procediamo in questa parte posteriore
alla storia della nostra mappa di contesto bene
le persone non sempre prendono buone decisioni
nel contesto eff fanno pochi poveri
scelte su come rappresentano il
dati su come si calcolano le cose
in generale è un po ‘un casino e
poiché C è conforme a F che è disordine
andando subito a migrare in C che
è se mi adeguo a un casino, allora cosa fa
questo mi fa ricordare così il tipo di
il design di cui sto parlando è dove
la chiarezza è il premio e F ha perso
la chiarezza e come risultato C ha perso
la loro chiarezza è una delle
conseguenze di conformarsi ci sono
buone cose su come conformarsi ma questo è
uno degli svantaggi ora ne ha fatti alcuni
scelte sbagliate come conseguenza di Yi
essendo un po ‘un disastro ora il messaggio è
stanno emettendo quello che dovrebbero
essere conforme a a
non è più veramente questo è dire se io
Forse Ricevo messaggi in una forma
che doveva essere in quello solo come
Avevo dettato ma in realtà non lo è
questa non è una scelta che quella e
la gente ha fatto è solo che loro
non l’hanno tolto, loro semplicemente non lo fanno
abbastanza hanno la competenza o loro
appena incasinato questa volta così ora
cosa accadrà bene nell’ideale
mondo la pressione di A e D i due
i consumatori probabilmente li spingono a
agisci insieme e torna a
emettendo messaggi ben formati nel
mondo ideale ma non ho mai lavorato in
il mondo ideale nel mondo in cui io
lavoro in questo momento c’è un grande rischio
che sia a che D stanno per diventare
corrotto da ciò che il modello di a
inizierà a dover ospitare un
un po ‘di e e lo stesso vale per D
e quei cerchi grigi stanno andando
riempire lo schermo c’è un altro
possibilità ma ci arriveremo in a
minuto questa immagine adesso è a
foto immaginaria sedersi vicino a quello che intendo
quello che sta succedendo veramente sopra è
che E non è conforme ad un ma il
l’immagine dice ancora che sono così
avremo bisogno di cambiarlo
immagine vogliamo la mappa del contesto
riflettere ciò che sta realmente accadendo se
ci piace o no ora non è tutto un grande
il sistema sarà ben progettato, penso
che a chiunque importi del buon design
ha bisogno di tamburellare questo nella loro mente come
ditelo tre volte in
specchio ogni mattina perché se tu
non farlo saprai che lo farai
finire senza un buon design perché
potrai
ti spingerai oltre continuando a cercare di aggiustare
tutto giusto facendoti sapere
aggiustando nulla diffondendo anche il tuo lavoro
sottile quindi la vera domanda è in questo
situazione sì, intendo che varrebbe la pena
cercando di farti aggiustare le cose
ma riconoscendo quando non lo sono
andando a fare quello che stiamo andando a fare
su queste due relazioni in questo momento
non c’è un modo veramente chiaro per scrivere questo
cosa sulla mappa di contesto perché è
solo non una buona situazione per il più
parte gli schemi nella mappatura del contesto
la tecnica sono modi per descrivere
relazioni ragionevolmente sane in un modo
sarebbe per ciascuno di loro da presentare
un anti-corruzione lì per l’a
la gente dice bene, forse possiamo ottenere e
sistemare le cose un giorno ad un certo punto ma
nel frattempo abbiamo bisogno di proteggere il
integrità del nostro modello e questo significa
che riceveremo questo tipo di
messaggi intricati di AE e lo faremo
tradurli in bello un ambiente pulito
messaggi prima che entrino in noi così
quello strato anti-corruzione è
essenzialmente un traduttore che prende
messaggio di una lingua e le trasforma
nei messaggi in un’altra lingua e
ora siamo tornati in una situazione in cui
anche se c’è qualcuno che conosci lì
sono diversi contesti qui ora che sono
non ben progettato, ma non è così
inevitabilmente portano a una degenerazione di tutti
il design in tutti i contesti così noi
bisogno di un livello di realtà Riis per prevenire
va bene, ecco qual è il
la prima cosa che volevo trasmettere è
cosa mi ha fatto pensare che micro
i servizi sarebbero un buon veicolo per
design basato sul dominio e fondamentalmente
scende a
questo tipo di sai che dai un vero
isolamento al lavoro all’interno di questi
diversi team all’interno di questi diversi
contesti hai un modo di gestire
quello nella maggior parte del tradizionale
tecniche è molto più difficile da fare
confini chiari e farli rispettare ora
una delle cose che succede con qualsiasi
tipo di sai, rompiamo le cose
l’approccio alle cose più piccole è che finisci
con un sacco di piccole cose e questo
diventa molto difficile vedere il grande
immagine e diventa difficile da fare
disegni coerenti su scala più ampia
delle cose comuni che vedo
sebbene ciò che le persone spesso fanno con
i micro-servizi sono ciò che ho soprannominato il
contesto di interscambio e quindi diamo un’occhiata
questo per esempio questo è prima che andassi
fuori dai binari
quindi ora abbiamo uno due
tre quattro contesti che ricevono un tipo
messaggi oltre a uno stesso così tu
hanno un sacco di comunicazione in corso
questa lingua è questa lingua
diventando lo scambio di fatto
linguaggio che vuol dire più e
più di questi diversi servizi sono
parlando un ora che è in realtà carina
comune che qualcuno lo abbia progettato forse
anche se per una ragione abbastanza specifica e
quindi diventa usato per quell’altro
modo di farlo se tu se tu
dovevano anticipare tale interscambio
il linguaggio potrebbe essere quello di provare a escogitarne uno
quello era davvero adatto a quello
ricorda che un linguaggio era principalmente
probabilmente destinato a
la logica che fa il modo in cui pensano
sul problema per i loro scopi
più forse la loro collaborazione con essere
una collaborazione molto specifica ma
in realtà EDC non lo sono mai stati
interessato a questo se tu avessi progettato un
più generico tipo di linguaggio per
comunicando con loro probabilmente
avrei scelto qualcosa di diverso
e questa è un’opportunità che penso
non è quello che vorresti fare
davanti ma quando vedi qualcosa
emergendo come questo dove all’improvviso
vedere che questo servizio è questo contesto
diventando il linguaggio de facto per a
gran parte della comunicazione all’interno di a
sistema potresti dire inventiamone uno nuovo
linguaggio che è solo per quello scopo
quindi questo sarebbe un altro contesto questo
contesto non corrisponde a un servizio
quindi il contesto è il primo qui
che in realtà non ha forma fisica a
tutto è solo una sorta di modo di parlare
sulle cose
ha delle definizioni chiare sulla copertina
gamma di cose che piacciono a questi contesti
parlarci a vicenda ma è così
non entra nel genere di cose che loro
bisogno per risolvere in realtà il loro
problemi interni che probabilmente lo fanno
ho dei bagagli di quel tipo come dico io
Non mi piace anticipare queste cose
e fateli prima che iniziamo mi piace
tipo di lasciare che il bisogno di farlo venire su di noi
ora una delle cose quando parlo
con persone che non sono micro servizi
fan ma in realtà tu sai e io dico oh
Mi piace la cosa dei servizi di micro penso
è buono per creare questi limiti
e così via, e dicono bene un sacco di
le cose che stai dicendo che ti piacciono
sono solo confini logici, intendo noi
non ho davvero bisogno di tutti quei macchinari
Questo
non abbiamo bisogno di una distribuzione separata
conoscere
perché dovremmo fare tutto questo separato
materiale di implementazione sicuro se è necessario
scala su cui scala alcuni servizi
livelli molto diversi di ridimensionamento e tu
bisogno di quel tipo di failover e di cui hai bisogno
tutte quelle cose che sono un modo per farlo
ma le cose di cui ho parlato
A proposito non sono per lo più su che sono
non principalmente su quel lato runtime
loro sono principalmente sugli effetti che
quella filosofia ha sullo sviluppo
fase giusta e sto dicendo che penso il
effetti che questo ha sullo sviluppo
fase sembra essere abbastanza buona e così io
penso che sia indubbiamente giusto
in linea di principio ci sono altri modi per
creare confini logici e il mio
la risposta è semplicemente che siamo stati
cercando di farlo per decenni e ora
da quando sono stato in questo campo e io
pensa prima che la gente abbia provato a farlo
stabilire quel tipo di logica
confini in vari modi sottili e io
penso che sia troppo sottile , è …
non sopravvive al ruvido e ruzzolone
c’è sempre è sempre troppo allettante
e troppo facile da attraversare il
confine e prendi il pezzo di
informazioni necessarie dal database
o qualsiasi altra cosa e microservizi mettendo
tutto quel macchinario ce lo rende un
in realtà innaturale per farlo
è più naturale fare la cosa che
mantiene l’isolamento a volte te
sai che hai bisogno di un muro che hai
forse una recinzione tra la tua casa e
la prossima casa potresti solo un po ‘
disegna una linea tratteggiata lì che conosci
erba, ma c’è qualcosa di un muro
quindi penso che questa sia la ragione e io
solo io proprio non devo
lo capiscono di aver solo osservato che
abbiamo provato, provato e provato
fare questo per molto tempo ma questo
quando ho
ridurre a questo approccio in un progetto
quello stava provando a isolare le cose dentro
modi più logici l’isolamento fisico
e la visibilità che ha dato e altro
le cose sembrano aver fatto il trucco e
lo ha spinto in un vero disaccoppiamento
pezzi del sistema in modo che tu possa essere
guidato principalmente dai vantaggi di runtime
potrebbe essere necessario ridimensionare parti del tuo
sistema al cliente con cui l’ho fatto
la prima volta non era davvero ridimensionamento
quello che hanno giustamente sottolineato
loro potrebbero gestire il problema che loro
aveva senza tutte quelle cose ma ce l’abbiamo fatta
e ha prodotto un disaccoppiamento
ci ha permesso di fare meglio il design di
Ovviamente se hai bisogno di fare il ridimensionamento e
gli altri vantaggi quindi che lo rendono
una scelta molto più facile va bene così
in fondo i miei punti sono questi che quando
vogliamo fare un design sottile e questo
non deve essere solo dominio guidato
design ma qualsiasi tipo di logica complessa
abbiamo bisogno di chiarezza con un certo grado di precisione
che richiede isolamento, quindi ne abbiamo bisogno
tipo di confine concreto e avrò
per dire che i migliori che ho visto erano
quelli che sono stati cucinati nel
il mondo dei microservizi sono sicuro che non lo è
l’ unico modo per farlo è solo dimostrato
per essere efficace nel mio personale
esperienza ed è qui che sai che è
vero e proprio quando si ottiene un sacco di questi
servizi che vedrai alcuni dei
gli stessi problemi spuntano davvero lo sai
descrivi il servizio e quando
le persone iniziano a ridimensionare il micro servizio
giù per dire un servizio nano dove le persone
iniziare a parlare di un servizio che potrebbe
avere 20 righe di codice o qualcosa del genere
e comincio a pensare a quel ragazzo che suona
come un oggetto e
perché sai e specialmente il
come gli oggetti erano ai vecchi tempi
oggetti chiacchiere o piccole cose che
può inviare messaggi tra loro e così via
su e e penso che ci sei tu
conosco le distinzioni ovviamente non lo sono
dicendo che sono oggetti ma ci sono a
molto come loro e alcuni degli stessi
sorgono problemi
sorgerà comunque e quindi lo sai
non è una panacea , non è una soluzione
tutti i problemi ma penso che alcuni
di quei problemi, quindi può essere affrontato
con strumenti come la mappatura del contesto che
era specificamente per affrontare questo tipo di
problema per dire che puoi capire a
certa raccolta di elementi che hanno
stato creato per risolvere una serie di problemi
e poi un altro insieme di elementi che
sono stati creati per risolvere un altro
serie di problemi ma non puoi capire
tutto allo stesso tempo e
inoltre questi diversi elementi
sono stati concepiti usando diversi
concetti di lingua diversa, quindi abbiamo bisogno
confini tra loro e quindi abbiamo bisogno
un modo di vedere come si relazionano a ciascuno
altro quindi il contesto di confine e
contesto Mappe aiuta a renderlo esplicito
anche tu sai entrambi nella situazione
dove un servizio definisce il contesto
confine ma anche nel caso in cui il
comunicazione di diversi servizi dove
il messaggio sta andando tra di loro
definisce un contesto non l’interno di
i servizi ma i messaggi tra
quello spazio in mezzo è un altro contesto
ci aiuta a visualizzare ciò e la ragione
su di esso quindi penso che l’uso modesto
delle lingue di interscambio sarebbe uno
modo di aiutare a organizzare un coerente
insieme di servizi che risolve un po ‘
problema più grande e penso che le persone
in realtà fai questo lo sai ma senza
qualsiasi strumento esplicito esplicito mentale
strumenti intendo parlarne
Dì solo un’altra volta prima di concludere
non sarà tutto un grande sistema
ben progettato e si può anche e quello
Penso che tu conosca una parte naturale di
la filosofia dei micro-servizi è uno
che dobbiamo riportare anche al
punto di dire anche i micro-servizi
le proprietà non saranno perfettamente esposte
all’interno di un grande sistema ci sarà
parti fragili e ci saranno parti
che non si adattano bene e così via
parti che si aggrovigliano con altre parti
in tali modi che rendono molto difficile
fare le cose che fai di cui parli
riguardo a farlo è la sostituzione e così via ma
che va bene a sapere se questo non è
pensato per fornire un sistema perfetto
pensato per far muovere e rinfrescare le cose
le cose su così e su quello che chiuderò e
e spero che lasci un po ‘di tempo per
domanda si lo facciamo grazie per il
parlare
una delle domande da online
lo strumento è in quel disegno tutto limitato
contesto fa ABC e così via
sarebbero separati microservizi
e sarebbero separatamente schierati così
la domanda era questa questi il ​​contesto
ABC e così via sarebbero micro
servizi che sono stati distribuiti separatamente
e la risposta è sì è quello che sono
questo è quello che sto suggerendo di sapere
direbbe un approccio vecchio stile il
proveremmo a definire questi contesti in
altri modi forse sarebbero certi
set di moduli e un certo insieme di
tavoli sono stati associati con quelli
moduli e avresti forse un documento
descrivendoli o qualche tipo di etichettatura
all’interno dei commenti e e tutti questi
modi di cercare di dire che questi sono i
confini di questo contesto cosa sono
dire dei microservizi è quello
cosa sembra fare è dice questo
il servizio è un contesto
una squadra lo possiede è isolato
non condivide i dati, voglio dire che non è così
condivide i dati ma solo attraverso il
interfaccia non condivide un database
e così via e così i confini di questo
il contesto è molto ben definito, va bene allora
c’è una domanda sul muro che hai chiamato
Acey cosa significa cosa significa
mappa del contesto Oh strato anticorruzione sì
a a C è per anti-corruzione e credo
Io mi scuso per non definire che uno
è diventato un così piccolo comune
abbreviazione che usiamo che ho dimenticato
e che il punto del nome è
che se sto consumando informazioni dico a
messaggio che viene da fuori
può corrompere la mia fragile alta precisione
design sai e quindi ho questo te
sapere se il tuo motore dell’auto è molto alto
macchina di precisione che deve operare
un abbastanza sporco e incontrollato
ambiente e che cosa ha?
filtra l’aria che entra nel
il motore passa attraverso un filtro dell’aria
c’è un filtro dell’olio che è costantemente
pulire le cose in modo che non entrino
il motore e così via così loro lo sanno
quel tipo di cosa di alta precisione a meno che
lo farai funzionare in maniera pulita
stanza da qualche parte nel qual caso non lo fa
ho bisogno di tutto ciò che è un enorme
strato anti-corruzione usato per
quel tipo di cose in realtà così da avere
avere una soluzione di altissima precisione
neanche tu hai bisogno di quel tipo di protezione
e non tutti i problemi sono così alti
precisione giusta che tu conosci il
il motore dell’auto ha tutto quel tipo di
filtrazione e cose ma tu conosci il
i tergicristalli non li hanno
basta scorrere sulle finestre e alla fine
si consumano e noi li sostituiamo e
sai che ci sono parti a bassa precisione
ad una macchina e ci sono alta precisione
parti e le parti di alta precisione hanno bisogno
per essere trattati diversamente hanno bisogno di questo
isolamento
e quindi se stai consumando dati da
fuori da quel contesto non puoi supporre
che soddisfa i requisiti che
penseresti che sarebbe così per te
controlla quelle cose e anche te
trasformalo nella stessa terminologia
la stessa struttura che saresti
in attesa dei dati che si muove intorno
dentro dentro dentro e poi una volta
questi sono al suo interno si può fare
molte assunzioni e affermazioni
sulla natura dei dati che sei
lavorando con va bene
c’è un’altra domanda simile quindi a
bee bee om what’s that wow yeah bebe bebe
om memorizzato per una grande palla di fango e io
ho deciso che in realtà l’ho fatto coscientemente
decidere di non usare quel termine nel discorso
e ho dimenticato di togliere l’ape
le diapositive ma è un te meraviglioso
sai che dovresti solo Google per la grande palla
di fango e trova l’originale grande palla di
carta di fango che è degli anni ’90 ma è
descrive i sistemi che sono appena cresciuti
in grossi grovigli di groviglio ma i grandi
cosa su quel foglio è questo
descrive questi in una sorta di ammirazione
in modo simile a come hanno osservato quello più grande
i sistemi sono così e questo in qualche modo
funziona in c’è qualcosa riguardo il
in ogni caso è una carta molto intelligente, quindi
Stavo solo dicendo che stavamo ricevendo
alcune grandi palle di fango ma probabilmente loro
non erano molto grandi ok
così più sulla dell’architettura quello
delle domande è possibile o dovrebbe essere lì
essere un servizio dedicato il cui scopo è
essere solo un contesto di interscambio
fornitore Immagino che fosse l’io che tu
aveva nel tuo grafico dovrebbe esserci un
servizio dedicato ad essere il
fornitore del contesto di interscambio, penso
che la mia risposta sarebbe no lo dico
senza molta confidenza
perché sì puoi immaginare tutto
ottenendo ma penso che la mia risposta sarebbe
no perché il punto qui è mantenere il
decentramento
dell’architettura dei micro-servizi no
creare un collo di bottiglia e così via
ma d’altra parte darci un modo per
scambiare messaggi senza abbastanza
traduzione forse e possiamo farlo
senza avere qualche tipo di speciale
servizio che non sono sicuro di cosa sarebbe
lo sai a meno che tu non aggiunga un database
che memorizzava le cose in quella forma ma
in fondo penso che la mia risposta sia no ma se
qualcuno ti presenta una soluzione
non sapere tutto questo dogmatico su questi
le cose vanno bene così un’altra che è di più
riguardo l’organizzazione , anche tu
consiglia uno a uno a uno
relazione tra squadre e confini
contesti avrei un one-to-one
relazione tra squadre e confine
contesto, vorrei avere un uno a finire che
voglio un contesto limitato per avere a
chiaro proprietario quindi vorrei dire se
questa cosa è un contatto che dice come servizio
poi c’è una squadra che lo possiede ma a
la squadra potrebbe lavorare su più servizi così
finché non si ha il
problematico è quando ne hai due
squadre che lavorano sulla stessa cosa e
lo vedi nei posti dove loro
portare il concetto di codice condiviso
la proprietà troppo lontana dal mio punto di vista
senza alcuna separazione del contorno
dove chiunque può cambiare qualcosa dentro
il sistema così le persone toccano leggermente a
parte del sistema che non lo fanno
capisci molto bene e hai il
tragedia dei Comuni e di tutto
solo un po ‘degenerato quindi il contesto
dovrebbe avere un proprietario ma una squadra potrebbe
possibilmente possedere più di uno va bene e
e ciò significa che solo la squadra è
dovrebbe cambiare il codice di quelli
contesti legati che è ciò che intendo sì
va bene, d’accordo
così e questo è così potente
separazione che si sta parlando
non è anche un problema perché se
le cose non vanno come previsto, quindi se
uno dei team non offre davvero
sarà difficile
ancora trovare un modo di andare in
produzione e quindi si potrebbe avere anche
la compagnia di Google fallisce quindi penso questo
è un problema questa idea che se una squadra
non riesce a consegnare che porterà a a
tipo di errore più grande è un problema
che dovresti affrontare sotto qualsiasi
circostanze in realtà conosci il
i micro-servizi sono forse un po ‘di più
resiliente a cose del genere
approccio monolitico , ma se si guarda
alcuni dei diagrammi un’altra cosa carina
riguardo agli schemi penso sia possibile
darti un suggerimento sulle conseguenze
come se se D non dovesse passare
allora probabilmente non interesserà molto
molto ma se uno sguardo come sarebbe terribile
essere un incasinato sai che tu così
sappi che le conseguenze degli errori
in un sono terribili in tutto il
organizzazione quindi non lo direi
potrebbe aiutarci a sapere dove preoccuparsi e se
Non mi fido di e vedrò di essere
pensando che forse dovrei sapere un altro
cosa mi limiterò a buttare qui una cosa che ho
visto è che la gente a volte apprezza il
Principio DRI troppo alto che è il
non ripetere il ripetitore in modo da non duplicarlo
roba troppo alta quindi supponiamo che
cosa vuole veramente da entrambi cosa C
è davvero volendo da un è un po ‘
capacità particolari che in realtà non lo sono
così difficile preferirei vedere C
duplicato naturalmente l’ideale potrebbe essere
che questa cosa sarebbe stata scomposta e
non far parte di ao C ma ricordati di noi
non ho l’ideale che integri
se hai creato una dipendenza su a
tutta l’altra squadra e il loro successo
avere questa funzione che hanno
già costruito bene forse è meglio
fai qualche duplicato okay
quindi immagino che l’ ultima domanda possa essere usata
i confini logici da creare
segno multiplo
servizi in un modo top-down e credo
strettamente associato a questa domanda
non ha senso
per prima cosa creare un monolite e poi andare
per i micro servizi qual è stato il primo
parte però se si potesse usare
questi limiti logici da creare
più micro servizi dall’alto verso il basso ah così
vorresti pianificare e poi?
sì, io non sono contro un po ‘di
pianificazione anticipata di una specie di schizzo e
allora andiamo a fare qualcosa di simile
che penso sia molto diverso da
pianificando meticolosamente tutto dentro
anticipo quindi non penserei tale
cosa sai che ti penso davvero
sono obbligati a farlo un po ‘come te
dì bene quali sono i nostri primi due o tre
i servizi saranno e lo faremo
avere un paio di team che lavorano su di loro okay
andiamo a lavorarci su ora che è così
un po ‘ top-down ma non da molto
in alto a destra e nell’altra parte
non ha senso fare il monolite
prima sai che in realtà non la penso così
ma la gente dice che ha esperienza
e buoni risultati e così anche se va
un po ‘contro il mio senso che io
penso davvero che lo farei a questo
punto vorrei iniziare con qualcosa
piuttosto rotto in realtà ma non lo sono
andando a I do not I do not think I have a
molto forte opinione su questa uno tutti
giusto grazie mille grazie ancora per il bene
rispondendo alle domande o nel parlare
tu

Please follow and like us: