
quindi il mio nome è sam newman, spero
spero di condividere con voi oggi sono alcuni
lezioni che ho estrapolato
dal lavoro che ho fatto con il pensiero
lavora negli ultimi 10 anni e il mio
i colleghi hanno fatto davvero nell’arte
di prendere il grande e renderlo più piccolo
e qui in particolare stiamo parlando
su come prendo un grande servizio e
renderlo un servizio più piccolo un insieme di
servizi più piccoli parlando del perché noi
potrebbe farlo alcuni dei benefici
speriamo che si sta andando a venire fuori
questo con alcuni reali pratici
capendo perché abbiamo guadagnato perché
vorresti farlo, parleremo anche noi
su un argomento chiamato micro servizi
molti di voi potrebbero averne sentito parlare
potresti venire al mio tutorial
Sto facendo con James Lewis giovedì
tutto su questo argomento sono solo nel caso in cui
sei preoccupato solo di alcuni di questi contenuti
sarà tutto il giovedì sera
di altre cose in arrivo come ho detto io
lavoro per il pensiero funziona anche io sono in realtà
sul comitato consultivo tecnologico per
il pensiero funziona che noi e noi abbiamo messo fuori
questa cosa si chiama radar tecnologico
è disponibile gratuitamente esce ogni
per sei mesi lo scriviamo prevalentemente per condividerli
le nostre esperienze di diverso
tecnologia in diverse tecniche e
in genere manca completamente il punto
di quello che sarà così controverso
ah lo sai dire che lo è
sistema orribile, era ragionevole
ma apparentemente molte persone si sono arrabbiate
a riguardo se vuoi discutere del
merito relativo di cose sulla tecnologia
radar vieni a trovarmi dopo, ma come me
Detto questo sono qui oggi per parlare di grande
cose e in pratica da dove vieni
il troppo grande troppo bene il più piccolo lì
sono molte ragioni in realtà perché tu
potrebbe scegliere di dividere i sistemi a
molti di loro arrivano alle T interne
durata che spesso puoi raggiungere
diversi tipi di durata per il tuo
sistema rompendolo in più piccolo
parti forse solo alcune parti del tuo
il sistema ha bisogno di servizi altamente duraturi
più fattibile per rendere quel servizio più
durevole se si isolano solo quelli
caratteristiche che ti interessano puoi
dividere e trattare gli interessati
separatamente la tecnologia è buona se
eri qui prima che la vedessi Neil
Ford non stava prestando attenzione ma
Penso che stesse dicendo qualcosa
le linee
dovresti entrare di nascosto in nuove lingue
ovunque tu sia, questo è un ottimo modo
per farlo se dividi il tuo tuo
grande servizio o sistema monolitico in
parti più piccole in realtà crei spazio
dove puoi sperimentare con nuovi
la tecnologia che puoi effettivamente fare a
componente che potrebbe rappresentare un più piccolo
rischio per il tuo business e dire bene
è lì che proveremo il nuovo
lingua o la nuova struttura
geografie brave Sono qui per me
i clienti sono laggiù forse dovrei
distribuire il mio sistema in modo tale che alcuni di
i miei servizi sono più vicini ai miei clienti
la struttura e l’organizzazione del gruppo è a
davvero importante qui come molti di
hai sentito parlare della legge di Conway ah
ok, quindi probabilmente solo una quindicina
per cento della stanza è probabilmente uno di
le leggi più importanti in cui vedrai
calcolo vale la pena di leggere su
quello di base dice il design del nostro
i sistemi seguiranno la comunicazione
percorsi nella nostra organizzazione e vice
versa così spesso dove trovi le cose
come se avessi due squadre in due diverse
posizioni geografiche che sono spesso a
davvero una buona ragione per farli lavorare
due servizi separati che sono
collaborando non posso entrare in quello
troppi dettagli oggi c’è anche velocità
di cambiamento quando si rompe un grande sistema
in componenti più piccoli hai il
possibilità di implementare le modifiche in modo indipendente
componenti senza influenzare il tutto
sistema complessivo potrebbe orkut andare a durare
anno i nostri erano in realtà i soggetti
chiamato dem designing per rilascio rapido
ci sono molti più dettagli in merito
caratteristiche dei servizi che rendono
sono facili da rilasciare frequentemente prima
parliamo di rompere tanto quanto una parte
anche se dovremmo forse fare un passo indietro
pensa che cos’è un buon servizio e io sono
andando a mantenerlo abbastanza alto quando
pensiamo a un servizio penso che non ci siano due
le caratteristiche sono molto importanti per
considerare il primo è un po ‘alto
occasione se ho un set di
funzionalità attorno a una determinata area I
piacerebbe che fosse nello stesso modo
posto perché mi dà l’opportunità di
creare astrazioni attorno a quel pezzo di
codice se risolvo un difetto posso ripararlo
un posto solo in un posto solo
insieme lo rende anche più facile
per me capire comprendi come il mio
funziona il sistema ho un sacco di
stella dalla mentalità simile
in un posto ed è anche un accoppiamento lento
Non vorrei che i miei sistemi fossero
composto da servizi così stretti
legato insieme che non posso cambiarne uno
servizio senza cambiare l’intero
i grandi sistemi monolitici del sistema sono abbastanza
difficile da cambiare è ancora più difficile
cambiare i sistemi distribuiti sono molto
accoppiati molto strettamente insieme
esempio cosa intendo per accoppiamento lento a
Immagina di avere un servizio e dentro il mio
servizio ho il mio interno
rappresentazioni del lavoro che sto facendo
questo è effettivamente il mio oggetto che ho
nella memoria ed è come sto facendo il mio lavoro
e immaginiamo che sto fornendo un
servizio ad altre cose intorno a me e così via
eccoli e vogliono cose
da me ora se permetto a questi servizi di
raggiungere proprio dentro di me e afferrare il mio
rappresentazioni interne quindi
effettivamente ho un lato sfortunato
di accoppiamento è ora difficile per me
cambia i componenti interni del mio sistema
interni del mio servizio qui perché il
cose sull’esterno tipo di afferrare
tenerlo è come quando stai avendo un
conversazione con qualcuno che stiamo provando
parlare verbalmente e poi improvvisamente lui
inizia a raggiungere il tuo cervello e
afferrando tutte le absidi segno che lo rende
molto difficile per me fare il mio lavoro quando
qualcosa arriva nel profondo e
afferrato me e questo è in realtà
come puoi creare molto rapidamente questi
una sorta di complesse mappe di distribuito
sistemi in cui le cose sono molto
strettamente accoppiati insieme e molto
esempio comune di questo è dove le persone
prendere le rappresentazioni interne serializza
e poi condividilo sul filo
diventano punti di accoppiamento involontari
Russ ha parlato oggi in questa traccia
su cose come la legge di Conway ho parlato
più di questo mio precedente discorso
desiderando una rapida liberazione
tecniche come puoi evitarlo così noi
voglio davvero avere questo concetto di alto
coesione e accoppiamenti liberi facciamo il bene
servizi perché questo tipo di accoppiamento
processo ma può diventare un po ‘ un disastro
si finisce con un grande vecchio pozzo fondamentalmente
un po ‘di un incubo prova e scegli da parte
ora questa è una conferenza abbastanza moderna
il tuo falso popolo moderno e io ero
cercando di pensare ad un esempio un bene
esempio per aiutare a illustrare alcuni dei
le lezioni che ho intenzione di parlare di
oggi e così ho pensato quello che uno dei
tutti i ragazzi che fanno oggigiorno penso
all’avanguardia quindi penso al futuro di
l’industria musicale è fondamentalmente su
la consegna fisica dei media così qui
siamo così il nostro esempio per oggi sta andando
per quanto riguarda il modo in cui i CD provengono da un
sito web e arriva subito alla tua porta
pensa a cosa succederà in
quella operazione con cui abbiamo a che fare
le cose fisiche mi piacciono le cose fisiche
puoi indicarli e dire quella cosa
è lì non è laggiù perché posso
vederlo da parte fisica e dire immaginare
con un un negozio di musica eccomi qui ho la mia
magazzino quindi il mio magazzino ne contiene molti
molte cose contiene CD che contiene
aree di breakout che contiene calendari di
contenuti discutibili sono scatole e
le persone e ovviamente le persone devono ottenere
pagato e molti numeri devono essere
scritto per le relazioni finanziarie, oh mio
la mia organizzazione è dove avremo un
ragazzo della finanza da qualche parte puoi dire che è lui
in finanza ha la cravatta blu che è lui
pensando molto attentamente a me
mi chiedo se spalando tutta la mia tassa chi
Lussemburgo se posso evitare e lui è
scrivere le cose con una penna così lui il
finanziare ragazzi pensando profondamente ora alle cose
capita nel magazzino che la finanza
il ragazzo non si preoccupa davvero di non esserlo
davvero che preoccupato del fatto che
il magazzino ha al suo interno un carrello elevatore
camion equi non sa per motivi
conosciuto solo per le persone che lavorano nel
magazzino che è il carrello elevatore
chiamato barile non sa nemmeno dove
ha solo saputo di alcuni aspetti
del magazzino, probabilmente ha bisogno di
conoscere l’inventario ai fini di
reporting finanziario, ma ho bisogno di sapere
sui dettagli quindi non ti chiedi
il carrello elevatore non sa nemmeno
sui tipi di scatole che sono
coinvolto che usato per memorizzare gli oggetti
ma a lui importa molto del tipo di
prodotti che stiamo vendendo e
spedizione perché deve scrivere
segnala che questo è interessante qui a destra
abbiamo dentro un’organizzazione all’interno
il contesto del nostro negozio di musica che abbiamo
persone e responsabilità abbiamo il
ragazzo di finanza che finanzia le cose
non capisco la finanza ci sono le finanze
le cose fatte da lui tutto ciò che so è
che le buste paga escono alla fine e
rapporto e parla al magazzino e
potrebbe chiedere un pezzo specifico di
informazioni e anche se tutto
anche se così efficacemente conosci il calore tutto
le cose finanziarie vanno bene
ragazzo nel magazzino fa nel
magazzino uscire o parlare più di quel
linea um quante persone hanno letto qui
questo libro ha il design principale che ottiene
più basso ogni anno che mi preoccupa a
un po ‘in realtà è davvero
interessante libro di Erich Evans arm quando
Per prima cosa leggo questo libro piuttosto di 10
anni fa ora come quando è uscito
Ho trovato la prima metà di quel libro
essere l’um interiore veramente interessante
se qualcuno di voi ha un livello di repository
la nostra interfaccia Ori positiva nel tuo codice tu
conosci un repository utente o l’apt
repository più che probabile che il
persona che hai messo che abbiamo letto questo libro
e abbiamo pensato che abbiamo bisogno di repository nel nostro
sistema si è rivelato in realtà il
cose interessanti nella metà posteriore di
il libro ma non l’ho letto fino a
molto più tardi come un concetto di Eric parla
su un libro che è uno dei limiti
contesto così contesto banner questo è il nostro
Eric descrive il contesto della caserma
applicabilità delimitata di un particolare
i contesti del modello limitano i membri del team
una comprensione chiara e condivisa di cosa
deve essere coerente e cosa può
sviluppare in modo indipendente ora penso che Eric
fantastico con idee e concetti che ho
trovato è abbastanza difficile da capire trovo
un altro peccato la nostra spiegazione di ciò che a
contesto fag non era un post sul blog che è
una responsabilità specifica imposta da
confini espliciti quindi cerchiamo di pensare
il magazzino il team finanziario il
team finanziario hanno il loro lavoro che fanno
e hanno una responsabilità e
operazione per eseguire hanno tutti
Tana me il magazzino allo stesso modo che hanno
un punto di interazione esplicito di cui ho bisogno
rapporto sull’inventario così posso fare il mio che io
posso fare i miei dettagli racchetta nei miei rapporti
oppure puoi riassumere tutto questo come una sorta di
Rispetto alla mia autorita ‘questi sono limitati
contatto design Sto facendo questo tu stai
sulla mia strada so cosa sto facendo, lasciami fare
fai quello che voglio fare e quando arriva
ai servizi ci stiamo pensando
concetti di alta coesione e sciolti
accoppiando questi confini espliciti
tra i contesti di Bannock sono grandiosi
posto per ottenere effettivamente ciò che è libero
Accoppiamento, parliamo e comunichiamo
attraverso un abbastanza stretto ben capito
insieme di interazioni alta coesione o il
roba finanziaria fatta dal team finanziario
questo finisce per essere un modello davvero utile
di me pensando di progettare il nostro
sistemi pensiamo ad alcuni dei
capacità che potremmo avere dentro
dì le cose che potrei fare sul nostro sito di musica
voglio raggiungere con il mio sistema che potrei
voglio aggiungere qualcosa al mio shopping
carrello Voglio controllare qualcosa io sono
pensando di vedere l’ultimo
rilascia la ricerca del catalogo in ascolto
per le anteprime riguarda anche le attività
responsabilità che fanno parte del mio
negozio di musica online ma puoi già
quando guardi cose come questa iniziano
raggrupparli insieme e creare un ordinamento
di cose che la pensano come cose che ordinano
di sedersi bene che hanno bisogno di alta coesione
essere calmo efficacemente vietando i contesti
quindi alcuni del contesto banner che potrebbe
esistono nel nostro negozio di musica sono cose
come pure carrello della spesa un catalogo a
libreria musicale e probabilmente troverai
quello all’interno delle proprie organizzazioni
le persone già sanno cos’è la ballata
contesti sono e in termini di già ottenere
usato hai squadre che hai tutte
organizzazioni all’interno della propria azienda
già la domanda è quanto di questo è
effettivamente rappresentato nei flussi di
la tua stessa architettura e la tua
sistemi sei in progettazione quindi uno dei
le cose fondamentali che abbiamo trovato è che quando noi
trovare e prendere un grande servizio e sputare
in pezzi più piccoli se possiamo farlo in giro
questo contesto banner con cui finiamo
servizi che hanno quei due
caratteristiche che ci piace cercare
alta coesione e quel basso accoppiamento così
come facciamo come lo otteniamo in che modo
a lungo iniziamo con la grande scatola dove fare
andiamo bene cose facili all’inizio
è quello di iniziare in modo semplice si ottiene in giro a
lavagna si inizia a delineare molto
alto livello bene il contesto banner che
pensiamo esista e iniziamo a grana grossa
quindi forse questo è un livello abbastanza alto per
il negozio di musica che pensiamo di avere
queste queste quattro cinque cose nella nostra
sistema di cose veramente di alto livello
cosa interessante con la musica con
un contesto migliore è in realtà un tipo di nido
se ci pensiamo al contesto di
lo sai questa conferenza che abbiamo
l’intera conferenza che dobbiamo organizzare
nazioni intorno alla mensa invece di
operazioni intorno alla caffetteria lì
c’è l’ equipaggio che gestisce tutto
sessioni di feedback e assicurarsi che otteniamo
dentro e fuori tutto quel genere di cose
iniziare il corso e iniziare a dividere
quando il modo semplice per farlo è in realtà
solo per cercare le cose nella tua lingua
ti fornisce in termini di codice di raggruppamento
insieme ho passato la maggior parte del mio lavoro
vita che lavora in Java Java ha il
concetto del pacchetto è il pacchetto
in realtà dal punto di vista del programma a
molto debole costruisce molte altre lingue
fai cose molto più interessanti con
pacchetti ma in realtà sono abbastanza utili
utile come solo raggruppare le cose insieme
del tutto come la struttura 101 può fare molto
buon lavoro ma in realtà ti sta mostrando il tuo
pacchetti e come essi sono correlati
cercando membro per tale accoppiamento lasco
quindi stiamo guardando il nostro contesto di Bannock
stiamo cercando l’opportunità di vedere i nostri
cose da accoppiare così strutturate
101 ti dà utili sono immagini come
questo quindi qui sto già vedendo alcuni
cose che sembrano così potrebbero essere
per i miei affari che devo ringraziare
un criterio di prenotazione un piano di commissione
sistema di report e puoi iniziare a vedere
alcune cose interessanti come è gentile
di strano sai che posso capire così
per esempio perché i criteri di business
un po ‘ha bisogno del piano della Commissione, ma io
capire perché i link tornano indietro
non è così che funziona la nostra organizzazione
perché il mio codice sembra così e io
penso che il codice in movimento sia abbastanza facile
sono semplici refactoring che puoi fare
quindi se hai uno strumento che ti permette
visualizza i raggruppamenti all’interno del tuo
sistema esistente il tuo monolitico esistente
base di codice si può semplicemente chip nel tempo
via roba del turno intorno a guardare il
scorre e arriva a un posto felice no
deve essere tutto o niente molto molto
lavoro a basso impatto e quindi nel tempo è possibile
vai da un posto per il tuo grande monolitico
il servizio viene effettivamente suddiviso all’interno
stesso in una sorta di pacchetti da guardare
così mi spendo molto tempo
parlando di come ottieni questa parte
di questo è perché in realtà questo è il
parte facile e penso che la maggior parte di voi possa
capisci meglio il tuo dominio, c’è un
buon libro chiamato dominio di implementazione
design guidato che va più nel dettaglio
su come effettivamente ottenere nella
dettaglio di separarli effettivamente
concetti ma spesso solo da pete che parlano
alla tua azienda le parti interessate otterranno un
molte di quelle informazioni
il duro come sempre sono i database
perché fondamentalmente i dati sono chiamati
i database fanno schifo e ci sono spesso i
il più grande impedimento al modo in cui si rompe
a parte sistemi e servizi alcune cose
Parlerò dei nostri modelli
in realtà nei database rifrattori
libro che potresti voler leggere
specialmente se hai a che fare con un RC
database legacy un sacco di schemi di coping
nella loro casa separati e separati
questi sistemi in modo Ecco un esempio che
il carino il problema principale qui è questo
è il modo più comune di persone
rompere i sistemi è fondamentalmente
dimmi, ho il mio mana di musica spessa
negozio ho intenzione di tirare fuori il mio servizio
e saranno tutti reintegrati
al database e questo è un po ‘brutto
cosa fare perché se cambio
qualcosa nel negozio di musica che potrei volere
per cambiare lo schema sottostante il mio
servizio posso fare ciò che non so
perché il mio servizio di raccomandazione è
parlando con lo stesso database abbiamo a
fonte di accoppiamento abbiamo bisogno di rompere questo
a parte, quindi hai davvero bisogno di separarti
quelle cose fuori e utilizzare lo schema separato
come possibile, quindi probabilmente finisci
con qualcosa del genere ho il mio
pacchetti prima cosa che vuoi provare e
fare è dove andiamo da un singolo
livello repository all’interno del tuo grande
servizio monolitico in realtà
separando quei repository per
essere su una base di contesto per fascia se
finisci per avere qualcosa di diverso
connessioni di connessione e cose del genere
ma è valsa la pena farlo
perché poi tutto il lavoro relativo alla
il catalogo è lì e visibile e
il tuo repository è un ottimo modo per
visualizzando le interazioni con il
lo schema dei dati e puoi vedere quali
parte lo schema che il catalogo usa e
quale parte la pelle con il magazzino
usa non è la fine della storia di
Certo perché ovviamente tu hai
integrità referenziale tra database
tavoli non è visibile all’interno del
livello applicazione lì se stai usando
strumenti di database relazionali come lo schema
spia sono molto bravi ad aiutarti qui così
puoi effettivamente vedere le relazioni
perché ci serve se voglio partire
il catalogo come servizio separato che ho
preso un chip fino in fondo e spostati
quello schema guarda alcuni esempi di
che così qui abbiamo un catalogo e un
tabella degli elementi pubblicitari e ho ottenuto finanziamenti
e ho un libro mastro non sicuro del
il registro è ma sono molto importanti
cose che il nostro libro mastro e io devo fare
generare un rapporto come parte della finanza
sistema ora il mio sistema esistente
il rapporto viene eseguito che sto mettendo insieme
informazioni dal libro mastro con
metadati aggiuntivi dagli elementi pubblicitari
tavolo per arricchire quel rapporto quindi lo so
quanti di loro non solo lo so
Ho venduto 50 oggetti di inclinazione 123 Lo so
questo q 1 2 3 è il più grande successo di
Justin Bieber è un album molto corto quindi
eccomi e sto mettendo tutto questo
ora qui però ho i limiti
contesto di finanza che raggiunge i dati
è un po ‘ più da vicino
associato con il catalogo ora se voglio
separare quelli come servizi che linee
può diventare un problema quindi ho bisogno di uccidere
quella linea potrei anche avere un referenziale
integrità dal registro in linea
tabella degli articoli ciò che devo fare è dividere
rompere entrambe le righe e ciò che io
voglio invece è quando il rapporto finanziario
viene eseguito dovrebbe andare al banner del catalogo
contesto e interfaccia e dire per favore
dammi che non è necessario e questo è un
cambiamento che puoi fare all’interno del singolo
servizio prima di separarli
come due servizi separati che poi ottengono
per mantenere i propri schemi
indipendentemente e poi quella relazione
che all’interno di un database relazionale può essere
una relazione con una chiave straniera o qualcosa del genere
così finisce per essere forse qualcosa
semplice come un collegamento a un’altra risorsa
guarda un altro esempio di codici paese arm
tabelle tabelle dei codici paese sono come il
utilità di stringa del mondo del database ogni
il progetto a cui sono stato sembra pensarlo
i paesi vengono creati molto di più
spesso di quanto pubblichiamo il nostro software
e così inseriamo il codice di questo paese
tavoli in là in modo che perché lei era un po ‘
un software probabilmente vero ma comunque
sai che lo hai messo qui, così possiamo
entrare magicamente e aggiungere una nuova riga
quando una nuova guida e appare o qualsiasi altra cosa
altrimenti come ho intenzione di dividere questo
beh, ci sono alcune cose strane che potrei fare
quindi il primo passo che potrei fare è
dare ad ogni contesto valido il proprio paese
la cosa dei codici sembra un po ‘tutti i due un po’
Un po ‘ eccessivo, potrei dire altrettanto
beh, c’è solo il codice statico, è solo
cose statiche sai che sto solo andando
mettere quei codici brevi paese in un enum
e attaccalo nel codice e ne hai alcuni
Mietitore e ho qualche effettiva duplicazione
tra il mio braccio bandito contesto ruggine parla
abbastanza bene all’inizio della giornata
su come effettivamente la duplicazione tra
servizi non necessariamente un problema, se
evita l’accoppiamento
in un ambiente in realtà lo abbiamo preso
cliente è per questo che quei codici paese
e ha reso un servizio separato perché
si trattava di una grande quantità di specie di
riferimento generale associato ai metadati
nomi di dati di aziende simili
e quelli abbastanza che è diventato un
servizio a sé stante per romperlo
connessione ecco un altro esempio a
finanziare il mio sistema di magazzino sia parlando
a una tabella di record del cliente a questo punto
Userò una parola strana perché io
penso che sia Neal che i ratti siano stati introdotti
parole fantasiose, così la parola che sto per dire
identificare qui è raggio alle cinque e ho
una versione diff non da Webster ma da
google che in realtà dalla vittoria com
vedere se siamo di raggio AFI significa
fare qualcosa di astratto renderlo più
il calcestruzzo lo rende più reale quindi se tu
guarda questa situazione ho il
sistema finanziario e il sistema di magazzino
entrambi parlano con una tabella dei record del cliente
il sistema finanziario sta aggiornando le cose
come questo cliente pagato sono rimborsati
il cliente è un oggetto di svolta che ho trovato
la quantità del sistema di magazzino
dicendo cose come ho ricevuto il
ritorno redfoot se ho inviato l’ordine
fuori e stanno aggiornando lo stesso
concetto il problema qui è che abbiamo
un concetto di dominio implicito che non ha
stato realizzato lo abbiamo scoperto mentre
passando attraverso il nostro schema di dati
qual è il concetto di dominio implicito qui
cliente quindi c’era qualcosa che noi
non lo sapevo, allora abbiamo scoperto che è così
divertimento come archeologia questa roba così
eccoci ora creiamo una nuova ballata
contesto e potrebbe essere molto molto
quello piccolo potrebbe effettivamente essere niente
più di una bella interfaccia in cima
alcuni alcuni mapping di ibernazione molto semplici
ma ora le finanze dal magazzino
sistema può parlare al contesto del cliente
che a sua volta parla di quel tavolo e se
Lo faccio scorrere fino in fondo
finire con tre servizi separati che
stanno quindi collaborando all’ultimo esempio
qui abbiamo il catalogo sul
magazzino e abbiamo un bel generico
tabella chiamata articolo perché gli articoli sono per
memorizzando oggetti e nella tabella articoli noi
avere informazioni come questa che abbiamo
le api 4929 ne abbiamo 40
quindi informazioni sull’ape 499 sul
record e 45 è il numero di elementi che abbiamo
in magazzino e quindi sia il contesto banner a
cura di quell’informazione quando sei
sfogliando il catalogatore che vuoi sapere
quanto costa e qualcos’altro in
il magazzino deve essere in grado di aggiornare
l’inventario e tutti quei tipi di
cose ma ne abbiamo effettivamente due
concetti separati qui e così a volte
quando trovi questi hai effettivamente bisogno di
prendi quegli schemi e in realtà separali
quelli a parte il database di refactoring
il libro parla molto di come puoi fare
quelle cose in modo frammentario così qui piuttosto
di avere un concetto molto generico ora
bisogno di essere molto più specifici e
esplicito in ciò che sto facendo qui
tirando questi due concetti a parte il
cosa fondamentale voglio quando arrivo qui
è che questo sarà un viaggio di
la scoperta um può essere un po ‘preoccupante
perché non è necessario necessario
grande piano diverso dalla comprensione
che vogliamo modellare i nostri servizi
intorno al suo contesto banner quello che sei
provare a fare è di alto livello quando tu
inizia a scalpellare la cosa fondamentale
capire qui è in realtà il costo di
cambia il costo del cambiamento intorno a a
la lavagna è molto bassa se una linea nel
posto sbagliato lo strofino e disegno un nuovo
linea è una specie di semplice se
Sto lavorando all’interno di una base sicura per dire
uno all’interno di un confine di processo e voglio
per spostare del codice tra un pacchetto
tra i pacchetti è uno spostamento f6
IntelliJ non è un’operazione
dovrebbe causare errori è molto
cosa facile e veloce da fare e se lo faccio
un errore posso scriverlo abbastanza
cambiando rapidamente il modo in cui i servizi parlano
insieme è molto più difficile perché se
Ho sbagliato il costo di questo è molto
peggio a volte quelli team quelli
servizi che dividiamo tra squadre separate
per esempio se ho bisogno di fare un cambiamento
e devo orchestrare il dispiegamento due
componenti e la modifica del database è
probabilmente anche più come abbastanza costoso
e questo è fondamentalmente un argomento
per un po ‘di pensiero iniziale no
un sacco solo un po ‘penso sempre
intorno a una lavagna e in realtà
pensando a come questi migliori contesti
interagire e come apparirebbero a
il servizio è un esercizio molto sensato come
quanti di voi quando la vostra università ha fatto
teoria orientata agli oggetti e discussa
le cose del collaboratore di responsabilità di classe
Poche volte e sospetto come tutti voi
come me, comunque, l’ho fatto all’università e
pensavo fosse davvero interessante
esercitare e quindi probabilmente non l’ha mai usato
mai più e penso che sia un enorme
quantità di overkill per gli oggetti I
in realtà penso che sia molto sensato
per i servizi basta andare in giro a
lavagna di quale responsabilità è
questo servizio come si parla qui
proviamo un caso d’uso che farò con questi servizi
la sorella parlante è come cinque volte durante
questo caso d’uso forse è un segno
sono troppo strettamente coppie e dovrebbero
essere una cosa questa cosa è circolare
de pitches dovremmo stuzzicare quelli a parte
due conversazioni molto semplici e semplici
può avere intorno a una lavagna e
in realtà alcuni degli esercizi intorno a crc
le carte funzionano abbastanza bene quindi quindi
la prossima domanda, naturalmente, va bene, se lo sono
rompere queste cose a parte e lo so
quel contesto Vanek annidato all’interno di ciascuno
altro ho il negozio di musica che ho il
magazzino inizio a dividermi
all’interno del magazzino o concetti all’interno
il magazzino vado quanto è piccolo
piccolo ora per un servizio c’è buono
cose di essere un piccolo pezzo di codice
che è piccolo è abbastanza facile
capisco la casa perché vado prima
mi provoca problemi da qualche altra parte e
questo è davvero dove un sacco di
interesse e microservizi sono arrivati
circa e il movimento verso più
sono arrivate architetture a grana fine
circa in gran parte perché abbiamo avuto un
un sacco di tecnologie abilitanti che
hanno ridotto il costo di avere di più
tipi di servizi in giro che abbiamo
automazione dell’infrastruttura cloud e
ne abbiamo anche capito
modelli architettonici e distribuiti
i sistemi sono molto più maturi e quindi noi
ora ho la possibilità di andare molto di più
benissimo come mai prima ma come
grana fine dovrei andare e e e cosa
sono i benefici di farlo così sono
parlerò di questo parlando
su Unix quindi sono un grande fan di Unix mio
la prima vera piattaforma professionale era
guardando fuori circa sei diversi Unix
varianti molto divertenti anche se vedi
i macro sono cattivi, dovrei sapere che ho scritto a
molto e davvero per capire perché io unix
ha avuto tanto successo e perché linux di
la parte posteriore che ha avuto tanto successo è
perché c’è in realtà un ethos
dietro a
quello che ha guidato al successo
dispiegamento di così tante diverse varianti
il loro sistema con questi stessi sottostanti
principi e sono un grande credente come
molti dei miei colleghi quando progettano un
sistema che ha principi che aiutano
guida la tua strada sono molto importanti e
ecco il suo Doug a Douglas McCrory di a
molto lavoro Bell e agli inizi di
UNIX parla di ciò che l’UNIX
la filosofia è questa è l’UNIX
programmi giusti di filosofia che fanno uno
cosa e farlo scrivere bene programmi
lavorare insieme scrivere programmi da gestire
flussi tecnologici perché quello è un universale
braccio di interfaccia ha un ragazzo intelligente che è tornato
in questo penso che sia solo un ram a casa
questo punto un po ‘di più come un libro chiamato
l’arte della programmazione UNIX che sono
certo il ripsnorter ma non ho letto
ciò che ho fatto è scoperto
su wikipedia e copia pezzi di
wikipedia nelle mie diapositive ci sono
sostanzialmente in questo libro sono io penso
17 regole dei colloqui letirici di Eric UNIX
penso che sia molto seriamente in discussione
sulle regole e ne ho individuate alcune
regole che ti danno bene mi piace molto come
per le regole generali per tutti i sistemi è il
dovrebbe essere la regola degli sviluppatori di modularità
costruire un programma partendo da semplici parti
collegato da interfacce ben definite così
problemi sono locali e parti
il programma può essere sostituito in futuro
versioni per supportare nuove funzionalità questo
regola mira a risparmiare tempo sul debug
debug di codice complesso questo complesso lungo
bene illeggibile la regola della semplicità
gli sviluppatori dovrebbero progettare per semplicità
cercando modi per suddividere il programma
sistemi in modo semplice e diretto
pezzi di cooperazione a cui piace il
piccola cosa qui non ha questa regola
mira a scoraggiare l’affetto degli sviluppatori
per scrivere intricato e bello
complessità che sono in realtà bug
programmi inclini mi sento abbastanza offeso
su questo perché ho fatto questo
per molto tempo mi piace il mio grande
sistemi complessi e Neil ha parlato prima
prima di pranzo su questa questa sfida
che spesso non abbiamo vincoli
posto su di noi e quindi permettiamo il nostro
i sistemi diventano grandi e complessi sono i miei
il preferito è la regola del potere
simoni quindi non uso impulsi a sufficienza
molti sviluppatori dovrebbero evitare di scrivere in grande
programmi di nuovo lui è davvero alla guida del
punto a casa al punto di essere noioso
ora questa regola mira a prevenire oltre
investimento in termini di tempo di sviluppo fallito
o approcci sub ottimali causati da
proprietari del programma riluttanti a
buttare via pezzi di lavoro visibilmente grandi
i programmi più piccoli non sono solo più facili da fare
ottimizzare e mantenere sono più facili da
cancella quando deprecato questo è veramente
roba davvero importante penso che sia ok
se il consiglio della tua azienda lo sa
il nome di un sistema nel suo complesso se il
il consiglio di amministrazione della tua azienda conosce il nome di
un servizio in quel sistema è già
troppo grande per poter uccidere facilmente questo è
il problema sono grandi sono visibili
molti rischi associati ma se ne hai bisogno
per cambiare l’asse del dolore nel culo
come troppa attenzione non posso farlo
questi sono i grandi sistemi legacy complessi
con esso se il mio servizio è bello e piccolo
posso riscriverlo a chi importa di nord
quasi ha causato questa progettazione per riscrivere
piuttosto che riutilizzare rendendo le cose piccole
abbastanza da poterli riscrivere in a
nuova lingua in un modo diverso solo per
rendere più facile capire di più
eseguire su qualunque cosa sia, ma abbiamo bisogno di
pensa a cosa pensa unix come a
programma che molti di voi qui probabilmente useranno
linux e se hai il massimo sei stato
forse la linea di comando questo è ciò che a
il programma unix ha l’aspetto di un alice che elenca
una struttura di directory che passo nel testo
con gli argomenti della riga di comando se voglio
ottenere l’uscita su un altro programma ho a
interfaccia di testo uniforme chiamata pipe so
questo richiederà LS e invierà l’output di
quello ad un altro programma chiamato grip
sta andando a cercare la parola Sam
questa è roba piccola ora che ho usato
LS da circa 15 anni so che ho usato
versioni completamente diverse di LS e
anche sulla piattaforma come ho usato
per un lungo periodo di tempo è stato NS
completamente riscritto le funzionalità I
sempre usato per usare ancora lavoro e nuovo
sono state aggiunte funzionalità ma quel codice
è stato riscritto fondamentalmente
più volte, quindi pensaci
un servizio quindi ci piace andare piccoli ma
quanto piccolo
dovrei andare è il mio collega James Lewis
ah chi sta commettendo il mac tipo tutor
di me, giovedì, James diceva sempre quando
gli è stato chiesto quanto sia piccola la sua assistenza
ha detto che hai detto non più grande della mia testa
arm la prima volta che ho tenuto questo discorso
era in Polonia in un cinema multisala e
James aveva la testa quattro volte più grande
che è qui che è stato un imbarazzante
conversazione per avere inizialmente era
di dire bene se posso adattarmi a tutti
codice per il servizio in uno schermo e il mio
la testa ha le stesse dimensioni dello schermo
è una specie di Plymouth stesso sul carattere
le dimensioni e um James significa davvero quello
il servizio non dovrebbe essere più complesso
e posso capire che dovrei essere in grado di
guarda e capisci cos’è quel servizio
sta facendo a quel livello di quel servizio
dovrebbe concettualmente adattarsi al mio
testa dentro il mio cervello ne ho sentito altri
persone che dicono certe organizzazioni
che pratica molto a grana fine
architetture hanno come regole di
pollice come 200 linee di codici circa
le righe di Tony sono codoni sembravano a
parliamo del nostro negozio, facciamolo
pensa al nostro webshop pensa al
servizio cestino cosa farò
con un cesto vado ad aggiungere al carrello
sto per rimuovere dal carrello sono
andando a guardare il cestino anche se questo
è stato inserito in un database per
persistenza tra le sessioni vorrei
in realtà essere un po ‘imbarazzato se io
non potrei scrivere quel servizio e ascoltare
a te sulle linee del codice sono anche dentro
Accesso Java eseguiamo il logout di accesso
loggato sono tre cose che sto facendo
di nuovo a un codice di consigliere sembra
registro di registrazione ragionevole ok
dopo capisco cosa c’è dentro
il mio cestino cosa dovrei raccomandare io sono
essendo un po ‘sciocco ma quando tu
effettivamente prendere questi contesti e rompere
A parte te, figlio, inizi
capire il tuo sistema non sembra
quel complesso dopo tutto questo in realtà
ti permette di concentrarti sull’essenziale
complessità piuttosto che accidentale
complessità che viene spinta al tuo
i punti di interazione è molto difficile
capire come questi sarebbero più di
un paio di centinaia di righe di codice e se
Ne farò saltare via uno e lo sostituirò
con qualcos’altro, posso farlo
è meglio così perché non potrei farlo
portare a questo tipo di grandi sistemi di
molto molto fini hanno un sacco di
interazioni tra loro tipicamente
a questo punto se sto permettendo domande
che non devo perché sono preoccupato
di essere in ritardo nel tempo puoi chiedere
domande successive tramite l’app premere il
il bottone verde è una delle cose
come le prestazioni solo le prime cose
Ho fatto in realtà che ho preso un servizio
Ho rotto il contesto del banner all’interno del
lo stesso servizio aveva risorse diverse
piscine che parlano allo stesso database
questo sarà ovviamente più lento
non è quello che stai parlando di Sam
questo è pazzo che ora sto per fare
più chiamate di servizio per assemblare il mio
applicazione che sarà lenta e
allora abbiamo una grande battaglia per le cose così
a questo punto vorrei solo dire alcuni
le cose in primo luogo le prestazioni non sono le
la cosa più importante non mi interessa cosa
applicazione che stai costruendo performance
non è la cosa più importante per te
quali caratteristiche hai bisogno di alcune funzionalità
altrimenti è un’applicazione molto veloce
niente è inutile, quindi c’è sempre
le prestazioni di compromesso sono spesso in competizione
contro altre cose che sono importanti
per te è in competizione con la velocità di
la consegna sta morendo contro i dati
disponibilità del servizio di durabilità
coerenza delle informazioni nel suo insieme
compromessi hai ciò che sembra buono
come per il tuo sistema ciò che è performante
per il tuo sistema ora dimmi quanto velocemente
il tuo sistema è attualmente e poi lo faremo
parlare di quanto velocemente sarà possibile
facciamo il resto come sempre con
queste cose si verificano abbastanza spesso quando tu
rompere questi sistemi a parte, scopri
altre opportunità per rendere il tuo sistema
più velocemente inizi a staccarti
alcune parti e alcune ricerche
le funzionalità in realtà diventano più veloci perché
non sono più incatenati al calcolo
percorsi o l’intensità di I / O di un altro
tipo di operazione, così spesso le persone dicono
e poi quanto piccola dovrei andare bene tu
sai che vuoi ridurre il limite
in realtà non le linee di codice che ottieni
più beneficio ai piccoli servizi
perché è più facile comprendere il
codice ma troppi servizi e troppi
tipi di servizi discreti possono essere
problematico e l’altro vincolo
quello che entra qui è il tuo funzionamento
e la maturità architettonica quindi pensiamo
di dalla vostra maturità operativa nel
vecchio mondo abbiamo avuto un grande servizio e noi
non avrà più istanze di quello
fatto di carico che li bilanciava e si sedettero
sulla grande scatola ah questo è molto facile
modello per capire per comprendere
in un nuovo mondo andiamo al servizio più piccolo
non è la prima cosa che fanno molte persone
è giusto dire che ora avrò un sacco
di cose su una scatola tengo le mie scatole questo
diventa problematico prima di tutto
un tipo di operatore della porta seduto ci sono chi
deve andare e distribuire queste cose e se
le persone hanno scelto una tecnologia diversa
stack che è molto doloroso maggior parte dei negozi I
Sappi che questo ha una grana molto fine
le architetture si standardizzano su uno o due
piattaforme tecnologiche in modo che possano essere a
JVM e un negozio Ogier in parte
perché vuoi la comunanza che vuoi
probabilmente qualche stratagemma è facile
abbastanza simile ma in secondo luogo si ottiene
problemi nel vecchio mondo se ne avessi uno
avviso su una scatola e aveva solo un servizio
su quella scatola, lo sapevo bene
il servizio è buono, quindi è influenzato da
quell’avviso o chiama il numero il
attività di ragionamento che fai quando
trattare con quella condizione era molto
più semplice ora quando ne ho multipli
servizi in quella scatola che chiamano
il problema qual è l’impatto di ciò
problema sta succedendo ora così questo diventa un
un po ‘ più impegnativo, quindi se puoi quando
ti stai spostando verso servizi di grano più fini
prova ancora a mantenere quello a uno
mappatura tra il servizio e l’host
sta funzionando così piuttosto che avere
grandi scatole con tanti piccoli servizi
prova ad avere una scatola più piccola di una più piccola
servizi che espellono effettivamente Lee
semplifica il sovraccarico operativo in
termini di comprensione del nostro sistema
il lavoro rende anche la vita più semplice
in termini di provisioning se hai
un esempio un ambiente dove puoi
fornire questi host su richiesta forse
stai usando qualsiasi cosa da lxc all the
fino a dire VMS o Amazon o come
il tuo per far apparire il tuo calcolo è possibile
poi tiri su le scatole che faccio inciampare
servizi e distruggerli allo stesso tempo
questo ti permette di farlo davvero
continua a mantenere la vita operativa
squadra meglio non è un problema da pensare
se avessi una scatola grande è una specie di
in genere ha uno stato binario in termini di
essere felici o è all’altezza o è vincolato
è una specie di semplice ah no è
di cosa si tratta di uno dei grandi sistemi
come questo è tutto complicato ora cosa succede se
questo ragazzo nel mezzo è giù è il mio
sistema su o è il mio assistente giù il braccio
non sanno un po ‘più confusa è diventa
un po ‘più di confusione per capirti
avere per ottenere una migliore, per esempio a
sapendo che il ragazzo qui in alto
potrebbe avere un problema perché qualcosa
a valle ha un problema che devi ottenere
molto intelligente per tutti i tuoi endpoint
bisogno di mappare e capire la salute
le loro risorse a valle devono ottenere
bravo a monitorare i tempi di risposta di tutti
di questi singoli componenti a
capire dove potrebbero essere i colli di bottiglia
questi non sono problemi che hai avuto nel
passato con l’unica grande scatola se qualcosa
o lento è l’ unica grande scatola che c’è
nient’altro al mondo ora in questo
il mondo è qualcosa di lento ciò che è suo
causando il problema e così da un
punto di vista operativo la quantità di
il dolore che stai per soffrire non è basso
a quanto è grande o piccolo un servizio
sarà circa il numero di loro il
numero di quelle cose che stai gestendo
quindi devi capire quanto è maturo
la tua organizzazione è in termini di
gestire non solo le implicazioni sono
interruzione sicura a valle e
brevetto architettonico richiesto per garantire
i sistemi distribuiti stessi possono essere
stabile e poi inizierò con Magna
le guardie rilasciano il libro ma anche il tuo
maturità operativa per quanto è facile
per eseguire il provisioning degli host per i tuoi servizi
la facilità di implementazione dei servizi
cosa gli sta succedendo in produzione
e dipende da dove ti trovi
sei la vecchia scuola che devo fare a Rack a
inscatoli tutto o forse sono in un nuovo
scuola che posso aver fornito
tutto automatico e il mondo del cloud
sta per dirti dove è il tuo appetito
è per quanto piccolo e quanti di questi
cose che puoi permetterti di avere e
probabilmente è una regola empirica
inizia a grana grossa e diventa più fine
a grana perché imparerai cose a
sai una delle volte che la gente dice come
molti serve è un buon numero, dico come
molti di voi hanno ora e dicono cinque io
dì sei vai alle sei e vedi cosa succede
e poi vai a sette e poi vai a
otto e come andrai imparerai
cose e scopri che le cose non vanno
da uno a 20 se non mi biasimi
perché la tua vita diventerà una vita
diavolo perché quello che accadrà è che lo farai
scopri tutte le cose che non sapevi
sui fallimenti a cascata a valle e
il dolore del team operativo e poi
la nuvola ti odia alla fine questo è
tutto su altri commercianti
ma la cosa fondamentale qui è iniziare come
vuoi dire che andare avanti è lentamente spazzare via
ed emergere ed estrarre questi disegni
dove ogni contesto banner in particolare
vuoi girare e tirare fuori
il tuo servizio principale che sta per
dipenderà da molti fattori ho parlato
l’inizio forse questa area di codici
in realtà abbiamo bisogno di aumentare questo
set di funzionalità forse è che abbiamo un
molti cambiamenti che stanno accadendo in
questa una zona del codice e se tu
rendilo un servizio separato che possiamo
in realtà rilasciare questi cambiamenti senza
potrebbe influenzare il sistema generale
geografia forse tutti quei tipi di
cose ma almeno quando inizi
ottenendo queste tensioni ora puoi pensare
okay, quindi quello che devo fare, sembra
nel mio sistema ci sono molte idee
tipo di non sono davvero in giro
sistemi distribuiti che hanno una sorta di
ha aiutato a interpretare è pensare che tu abbia
cose come i sistemi orientati agli oggetti e
Carte CRC hai cose da
UNIX che processa il sistema operativo UNIX
quando penso anche a finire questo
presentazione la prima volta che improvvisamente
capito questo mi ricorda molto di tutti
le cose di cui Mike penetra parla
è il libro che lavora con il codice precedente
prendi una grande cosa cerchi giunture e
tutto ciò che sto suggerendo qui è che quelli
le cuciture dovrebbero seguire il dominio aziendale
o il dominio in cui stai operando
perché per natura tendono ad avere
potresti essere abbastanza caotico
organizzazione come il cavaliere bianco I
in realtà funziona, ma in genere la maggior parte
organizzazioni che hai queste esplicite
associato usare responsabilità esplicite
quei punti di interazione e sono
ottimi modi per modellare realmente i servizi
quindi in sintesi capisci i tuoi limiti
contesto dove sono come esistono
questa è davvero una grande opportunità per
le tue tecnologie per raggiungere quelli
persone nel tuo dominio aziendale uno dei
le cose che ci interessano sono quelle
come quei ragazzi parlano insieme o perché
non lo stiamo facendo nel codice
capire dove il costo delle modifiche se
non abbiamo una grande conversazione in merito
dove andrai a spostare il codice
inizialmente quando si inizia a entrare in
quando il database del compagno di squadra cambia o
i cambiamenti con i servizi domestici parlano con ciascuno
altri fanno un po ‘più in anticipo
pensando a quel punto per favore è così
strumento importante che puoi avere come
team di consegna come una lavagna e alcuni
penne e una gomma da palla che ottengo
sorpreso dall’organizzazione che ho
è stato dove è più facile ottenere un nuovo
Macchina collezionato la
è trovare alcune palle di gomma e cose
così è folle questo è molto
un viaggio incrementale che puoi eliminare
a questo gradualmente nel tempo lo è
in realtà è un ottimo modo per ottenere
la fiducia nel tuo sistema può essere un po ‘
più flessibile in una ricerca un po ‘più adattabile
queste cuciture si staccano gradualmente
le cose a parte la cosa fondamentale per me è
questo è stato fantastico nel permettere
organizzazioni per sperimentare di più quando
hai un grande servizio tutto mio
le funzioni sono lì ora per tutti i miei
il rischio è lì e se voglio provare un
nuova lingua provare qualsiasi quadro il rischio
di questo è enorme se riesco a separarlo
e indirizzare le modifiche a un piccolo componente
qui però cercherò un’idea in giro
funziona se non funziona è
in realtà creare un rischio piuttosto basso è a
un po ‘di codice che non cambieremo ho cancellato
seriamente non è la fine del mondo
dimenticare un paio di problemi qui
in realtà ti permette di essere un po ‘più coraggioso
non è solo in termini di indirizzamento
cose come debito tecnico ed essere di più
adattivo nel tuo modo di pensare ma anche in
termini di portare nuova tecnologia e
tecniche nella tua organizzazione e così via
un ultimo punto è che la dimensione è spesso
importante e in generale piccolo è spesso
meglio devi andare lentamente
capire che cosa il proprio livello di
la maturità è intorno all’architettura
modelli e attorno al tuo funzionamento
maturità penso che con quello sono fatto
quindi stavo per dire si, grazie molto
tanto
quindi spero che qualcuno di voi abbia chiesto
domande sull’app speciale tutto ciò che abbiamo
ha domande ok ok grazie okay
va bene così un motore di raccomandazione non lo è
200 linee di codice, forse una rete
richiesta di risposta alla cache da qualche parte
ma non algoritmi reali per
determinando le raccomandazioni degli utenti così noi
stai causando un servizio basato su questo
esempio penso che potremmo discutere
questo intendo dire semplice corrispondenza di genere
sarebbe perfettamente accettabile, penso
come sistema di raccomandazione per molti
la gente quindi direi che è un esempio
di un servizio ero un po ‘sciocco
con le 200 linee di codice che penso
all’interno di un’organizzazione intendo la cosa fondamentale
per me è quando entri in questo
microservizio mondiale se si inizia a
ti permettono di concentrarti sul tipo
della vera complessità piuttosto che del
complessità incidentale potrei immaginare a
servizio di raccomandazione che è giusto
qualcosa di semplice come dire il cd
il mio cestino è principalmente nel genere rock
Prenderò il top 10 del genere rock
registra e metti quelli fuori come
le raccomandazioni potrebbero non essere molto
sofisticato, ma sarebbe un inizio
un contesto limitato molto ovvio che potrei
quindi diventa molto più sofisticato
potrebbe iniziare a guardare il tuo paese
vivi nell’aria che vivi nell’interesse
tu e i tuoi amici avete di più
sofisticato la cosa fondamentale è dal
punto di vista del mondo esterno nessuno
nota solo semanticamente le risposte
meglio, spero che abbia risposto il
domanda se non sentirsi libero di vetro me
al di fuori di un’altra domanda durante lo spostamento
dai servizi composti da grandi a piccoli
alcune cose diventano più semplici ma in
introduce la complessità tra il
servizi dove è la causa principale di a
problema da proteggere
che ci sono più opportunità di
fallimento qualsiasi pensiero su questo assolutamente
spero di aver iniziato a toccarlo
Alla fine devi ottenere molto
intelligente sui protocolli che usi
parlare tra di loro che è lì davanti
il design è un collega molto importante di
il mio Eric denenberg gli utenti analogia dove
parla del concetto di città
pianificazione contro architettura con città
progettando è come SimCity perché lo hai
un certo hai la mia luce industriale
area qui I area commerciale qui non lo faccio
davvero a cuore cosa vedono gli edifici
quello spazio mi interessa
sulle strade tra di loro te
in realtà trascorri molto del tuo tempo come un
architetto che non si preoccupa di ciò che squadra
fa dentro la scatola e si preoccupa molto
di più su ciò che accade tra la scatola
la cosa fondamentale è che inizi a ricevere un
responsabilità di separazione le persone
all’interno del servizio mi interessa solo cosa
stanno facendo così gli architetti a pensare
riguardo le cose più complesse , eppure tu
necessità di monitorare i tempi di risposta per ogni
servizio che devi guardare a valle
segnalazione delle dipendenze che sei
sta andando facendo trend log decente
roba di aggregazione dicono che c’è molto
quando elencherai tutte le cose
persone che fanno architetture di grana fine
è una lista scoraggiante, è spaventosa
elenco che è il motivo per cui iniziare in piccolo e lo farai
vedi quando hai bisogno di presentarli
concetti Penso al tempo per un altro
okay ok, quindi i servizi di Mike lo rendono chiaro
senso per il sistema di back-end, ma come si fa
consiglio di esporre il set al meglio
domanda i servizi al fronting
clienti come desktop e dispositivi mobili
un approccio è lasciare che i clienti
interagire con i singoli servizi tramite
processo di scoperta e altri il sottile
facciata del livello di servizio che dà il cliente a
cantare rappresentando le risorse ciascuna
ha pro e contro apprezzerei il tuo
prospettiva um Penso che ai vecchi tempi
dove abbiamo sempre costruito solo siti web che avresti
avere come un grande web shop UI e quello
sarebbero tutte le tue cose lì e te
parlato con tutti i servizi di back-end
dietro le quinte penso sempre di più
penso che non regga più l’acqua
la cosa fondamentale che possiamo dire non è il web
e mobile è solo che ora abbiamo molto
dei clienti e non sappiamo chi essi
sono o dove saranno io
in realtà tendono ad avere in generale il
i clienti parlano direttamente ai servizi come
contrario al tentativo di creare un rivestimento sottile
servizi che stiamo cercando di fare
pensa davvero a questa idea di
architettura esagonale che vogliamo
evitare questo problema stratificato molto tempo
quando abbiamo clienti che parlano attraverso a
livello di servizio sottile in cui stiamo cercando di
spingere codice condiviso nel server noi
in realtà finiscono per fare cose come
creando servizi di aggregazione e tutto
quel tipo di cose e nel tempo che
può essere davvero difficile da gestire e tu
alla fine sai che ho un carico
di ora fa il suo specifico su un dominio
il contenuto come in realtà fa davvero soggetti
tu qui sotto penso servizi comuni
per i clienti che danno un senso alle cose
come guardare
handshaking per chiavi API in cerca di
attacchi di negazione del servizio accidentale
registrando potresti avere tutti i maniscalchi se
stai facendo sicurezza per essere sicuro
le persone hanno i diritti in generale
Io preferisco i clienti che vanno ai servizi
e con i servizi intermedi
non essendo nulla essere abbastanza agnostico e
certamente non capisco il
dominio ci sono volte che dobbiamo andare a
un po ‘nel mezzo, ma in generale resta
qui da queste parti, spero
Ho risposto a questa domanda come stiamo facendo
per tempo hai tempo per un altro
domande però va bene, grazie
tempo
spero di condividere con voi oggi sono alcuni
lezioni che ho estrapolato
dal lavoro che ho fatto con il pensiero
lavora negli ultimi 10 anni e il mio
i colleghi hanno fatto davvero nell’arte
di prendere il grande e renderlo più piccolo
e qui in particolare stiamo parlando
su come prendo un grande servizio e
renderlo un servizio più piccolo un insieme di
servizi più piccoli parlando del perché noi
potrebbe farlo alcuni dei benefici
speriamo che si sta andando a venire fuori
questo con alcuni reali pratici
capendo perché abbiamo guadagnato perché
vorresti farlo, parleremo anche noi
su un argomento chiamato micro servizi
molti di voi potrebbero averne sentito parlare
potresti venire al mio tutorial
Sto facendo con James Lewis giovedì
tutto su questo argomento sono solo nel caso in cui
sei preoccupato solo di alcuni di questi contenuti
sarà tutto il giovedì sera
di altre cose in arrivo come ho detto io
lavoro per il pensiero funziona anche io sono in realtà
sul comitato consultivo tecnologico per
il pensiero funziona che noi e noi abbiamo messo fuori
questa cosa si chiama radar tecnologico
è disponibile gratuitamente esce ogni
per sei mesi lo scriviamo prevalentemente per condividerli
le nostre esperienze di diverso
tecnologia in diverse tecniche e
in genere manca completamente il punto
di quello che sarà così controverso
ah lo sai dire che lo è
sistema orribile, era ragionevole
ma apparentemente molte persone si sono arrabbiate
a riguardo se vuoi discutere del
merito relativo di cose sulla tecnologia
radar vieni a trovarmi dopo, ma come me
Detto questo sono qui oggi per parlare di grande
cose e in pratica da dove vieni
il troppo grande troppo bene il più piccolo lì
sono molte ragioni in realtà perché tu
potrebbe scegliere di dividere i sistemi a
molti di loro arrivano alle T interne
durata che spesso puoi raggiungere
diversi tipi di durata per il tuo
sistema rompendolo in più piccolo
parti forse solo alcune parti del tuo
il sistema ha bisogno di servizi altamente duraturi
più fattibile per rendere quel servizio più
durevole se si isolano solo quelli
caratteristiche che ti interessano puoi
dividere e trattare gli interessati
separatamente la tecnologia è buona se
eri qui prima che la vedessi Neil
Ford non stava prestando attenzione ma
Penso che stesse dicendo qualcosa
le linee
dovresti entrare di nascosto in nuove lingue
ovunque tu sia, questo è un ottimo modo
per farlo se dividi il tuo tuo
grande servizio o sistema monolitico in
parti più piccole in realtà crei spazio
dove puoi sperimentare con nuovi
la tecnologia che puoi effettivamente fare a
componente che potrebbe rappresentare un più piccolo
rischio per il tuo business e dire bene
è lì che proveremo il nuovo
lingua o la nuova struttura
geografie brave Sono qui per me
i clienti sono laggiù forse dovrei
distribuire il mio sistema in modo tale che alcuni di
i miei servizi sono più vicini ai miei clienti
la struttura e l’organizzazione del gruppo è a
davvero importante qui come molti di
hai sentito parlare della legge di Conway ah
ok, quindi probabilmente solo una quindicina
per cento della stanza è probabilmente uno di
le leggi più importanti in cui vedrai
calcolo vale la pena di leggere su
quello di base dice il design del nostro
i sistemi seguiranno la comunicazione
percorsi nella nostra organizzazione e vice
versa così spesso dove trovi le cose
come se avessi due squadre in due diverse
posizioni geografiche che sono spesso a
davvero una buona ragione per farli lavorare
due servizi separati che sono
collaborando non posso entrare in quello
troppi dettagli oggi c’è anche velocità
di cambiamento quando si rompe un grande sistema
in componenti più piccoli hai il
possibilità di implementare le modifiche in modo indipendente
componenti senza influenzare il tutto
sistema complessivo potrebbe orkut andare a durare
anno i nostri erano in realtà i soggetti
chiamato dem designing per rilascio rapido
ci sono molti più dettagli in merito
caratteristiche dei servizi che rendono
sono facili da rilasciare frequentemente prima
parliamo di rompere tanto quanto una parte
anche se dovremmo forse fare un passo indietro
pensa che cos’è un buon servizio e io sono
andando a mantenerlo abbastanza alto quando
pensiamo a un servizio penso che non ci siano due
le caratteristiche sono molto importanti per
considerare il primo è un po ‘alto
occasione se ho un set di
funzionalità attorno a una determinata area I
piacerebbe che fosse nello stesso modo
posto perché mi dà l’opportunità di
creare astrazioni attorno a quel pezzo di
codice se risolvo un difetto posso ripararlo
un posto solo in un posto solo
insieme lo rende anche più facile
per me capire comprendi come il mio
funziona il sistema ho un sacco di
stella dalla mentalità simile
in un posto ed è anche un accoppiamento lento
Non vorrei che i miei sistemi fossero
composto da servizi così stretti
legato insieme che non posso cambiarne uno
servizio senza cambiare l’intero
i grandi sistemi monolitici del sistema sono abbastanza
difficile da cambiare è ancora più difficile
cambiare i sistemi distribuiti sono molto
accoppiati molto strettamente insieme
esempio cosa intendo per accoppiamento lento a
Immagina di avere un servizio e dentro il mio
servizio ho il mio interno
rappresentazioni del lavoro che sto facendo
questo è effettivamente il mio oggetto che ho
nella memoria ed è come sto facendo il mio lavoro
e immaginiamo che sto fornendo un
servizio ad altre cose intorno a me e così via
eccoli e vogliono cose
da me ora se permetto a questi servizi di
raggiungere proprio dentro di me e afferrare il mio
rappresentazioni interne quindi
effettivamente ho un lato sfortunato
di accoppiamento è ora difficile per me
cambia i componenti interni del mio sistema
interni del mio servizio qui perché il
cose sull’esterno tipo di afferrare
tenerlo è come quando stai avendo un
conversazione con qualcuno che stiamo provando
parlare verbalmente e poi improvvisamente lui
inizia a raggiungere il tuo cervello e
afferrando tutte le absidi segno che lo rende
molto difficile per me fare il mio lavoro quando
qualcosa arriva nel profondo e
afferrato me e questo è in realtà
come puoi creare molto rapidamente questi
una sorta di complesse mappe di distribuito
sistemi in cui le cose sono molto
strettamente accoppiati insieme e molto
esempio comune di questo è dove le persone
prendere le rappresentazioni interne serializza
e poi condividilo sul filo
diventano punti di accoppiamento involontari
Russ ha parlato oggi in questa traccia
su cose come la legge di Conway ho parlato
più di questo mio precedente discorso
desiderando una rapida liberazione
tecniche come puoi evitarlo così noi
voglio davvero avere questo concetto di alto
coesione e accoppiamenti liberi facciamo il bene
servizi perché questo tipo di accoppiamento
processo ma può diventare un po ‘ un disastro
si finisce con un grande vecchio pozzo fondamentalmente
un po ‘di un incubo prova e scegli da parte
ora questa è una conferenza abbastanza moderna
il tuo falso popolo moderno e io ero
cercando di pensare ad un esempio un bene
esempio per aiutare a illustrare alcuni dei
le lezioni che ho intenzione di parlare di
oggi e così ho pensato quello che uno dei
tutti i ragazzi che fanno oggigiorno penso
all’avanguardia quindi penso al futuro di
l’industria musicale è fondamentalmente su
la consegna fisica dei media così qui
siamo così il nostro esempio per oggi sta andando
per quanto riguarda il modo in cui i CD provengono da un
sito web e arriva subito alla tua porta
pensa a cosa succederà in
quella operazione con cui abbiamo a che fare
le cose fisiche mi piacciono le cose fisiche
puoi indicarli e dire quella cosa
è lì non è laggiù perché posso
vederlo da parte fisica e dire immaginare
con un un negozio di musica eccomi qui ho la mia
magazzino quindi il mio magazzino ne contiene molti
molte cose contiene CD che contiene
aree di breakout che contiene calendari di
contenuti discutibili sono scatole e
le persone e ovviamente le persone devono ottenere
pagato e molti numeri devono essere
scritto per le relazioni finanziarie, oh mio
la mia organizzazione è dove avremo un
ragazzo della finanza da qualche parte puoi dire che è lui
in finanza ha la cravatta blu che è lui
pensando molto attentamente a me
mi chiedo se spalando tutta la mia tassa chi
Lussemburgo se posso evitare e lui è
scrivere le cose con una penna così lui il
finanziare ragazzi pensando profondamente ora alle cose
capita nel magazzino che la finanza
il ragazzo non si preoccupa davvero di non esserlo
davvero che preoccupato del fatto che
il magazzino ha al suo interno un carrello elevatore
camion equi non sa per motivi
conosciuto solo per le persone che lavorano nel
magazzino che è il carrello elevatore
chiamato barile non sa nemmeno dove
ha solo saputo di alcuni aspetti
del magazzino, probabilmente ha bisogno di
conoscere l’inventario ai fini di
reporting finanziario, ma ho bisogno di sapere
sui dettagli quindi non ti chiedi
il carrello elevatore non sa nemmeno
sui tipi di scatole che sono
coinvolto che usato per memorizzare gli oggetti
ma a lui importa molto del tipo di
prodotti che stiamo vendendo e
spedizione perché deve scrivere
segnala che questo è interessante qui a destra
abbiamo dentro un’organizzazione all’interno
il contesto del nostro negozio di musica che abbiamo
persone e responsabilità abbiamo il
ragazzo di finanza che finanzia le cose
non capisco la finanza ci sono le finanze
le cose fatte da lui tutto ciò che so è
che le buste paga escono alla fine e
rapporto e parla al magazzino e
potrebbe chiedere un pezzo specifico di
informazioni e anche se tutto
anche se così efficacemente conosci il calore tutto
le cose finanziarie vanno bene
ragazzo nel magazzino fa nel
magazzino uscire o parlare più di quel
linea um quante persone hanno letto qui
questo libro ha il design principale che ottiene
più basso ogni anno che mi preoccupa a
un po ‘in realtà è davvero
interessante libro di Erich Evans arm quando
Per prima cosa leggo questo libro piuttosto di 10
anni fa ora come quando è uscito
Ho trovato la prima metà di quel libro
essere l’um interiore veramente interessante
se qualcuno di voi ha un livello di repository
la nostra interfaccia Ori positiva nel tuo codice tu
conosci un repository utente o l’apt
repository più che probabile che il
persona che hai messo che abbiamo letto questo libro
e abbiamo pensato che abbiamo bisogno di repository nel nostro
sistema si è rivelato in realtà il
cose interessanti nella metà posteriore di
il libro ma non l’ho letto fino a
molto più tardi come un concetto di Eric parla
su un libro che è uno dei limiti
contesto così contesto banner questo è il nostro
Eric descrive il contesto della caserma
applicabilità delimitata di un particolare
i contesti del modello limitano i membri del team
una comprensione chiara e condivisa di cosa
deve essere coerente e cosa può
sviluppare in modo indipendente ora penso che Eric
fantastico con idee e concetti che ho
trovato è abbastanza difficile da capire trovo
un altro peccato la nostra spiegazione di ciò che a
contesto fag non era un post sul blog che è
una responsabilità specifica imposta da
confini espliciti quindi cerchiamo di pensare
il magazzino il team finanziario il
team finanziario hanno il loro lavoro che fanno
e hanno una responsabilità e
operazione per eseguire hanno tutti
Tana me il magazzino allo stesso modo che hanno
un punto di interazione esplicito di cui ho bisogno
rapporto sull’inventario così posso fare il mio che io
posso fare i miei dettagli racchetta nei miei rapporti
oppure puoi riassumere tutto questo come una sorta di
Rispetto alla mia autorita ‘questi sono limitati
contatto design Sto facendo questo tu stai
sulla mia strada so cosa sto facendo, lasciami fare
fai quello che voglio fare e quando arriva
ai servizi ci stiamo pensando
concetti di alta coesione e sciolti
accoppiando questi confini espliciti
tra i contesti di Bannock sono grandiosi
posto per ottenere effettivamente ciò che è libero
Accoppiamento, parliamo e comunichiamo
attraverso un abbastanza stretto ben capito
insieme di interazioni alta coesione o il
roba finanziaria fatta dal team finanziario
questo finisce per essere un modello davvero utile
di me pensando di progettare il nostro
sistemi pensiamo ad alcuni dei
capacità che potremmo avere dentro
dì le cose che potrei fare sul nostro sito di musica
voglio raggiungere con il mio sistema che potrei
voglio aggiungere qualcosa al mio shopping
carrello Voglio controllare qualcosa io sono
pensando di vedere l’ultimo
rilascia la ricerca del catalogo in ascolto
per le anteprime riguarda anche le attività
responsabilità che fanno parte del mio
negozio di musica online ma puoi già
quando guardi cose come questa iniziano
raggrupparli insieme e creare un ordinamento
di cose che la pensano come cose che ordinano
di sedersi bene che hanno bisogno di alta coesione
essere calmo efficacemente vietando i contesti
quindi alcuni del contesto banner che potrebbe
esistono nel nostro negozio di musica sono cose
come pure carrello della spesa un catalogo a
libreria musicale e probabilmente troverai
quello all’interno delle proprie organizzazioni
le persone già sanno cos’è la ballata
contesti sono e in termini di già ottenere
usato hai squadre che hai tutte
organizzazioni all’interno della propria azienda
già la domanda è quanto di questo è
effettivamente rappresentato nei flussi di
la tua stessa architettura e la tua
sistemi sei in progettazione quindi uno dei
le cose fondamentali che abbiamo trovato è che quando noi
trovare e prendere un grande servizio e sputare
in pezzi più piccoli se possiamo farlo in giro
questo contesto banner con cui finiamo
servizi che hanno quei due
caratteristiche che ci piace cercare
alta coesione e quel basso accoppiamento così
come facciamo come lo otteniamo in che modo
a lungo iniziamo con la grande scatola dove fare
andiamo bene cose facili all’inizio
è quello di iniziare in modo semplice si ottiene in giro a
lavagna si inizia a delineare molto
alto livello bene il contesto banner che
pensiamo esista e iniziamo a grana grossa
quindi forse questo è un livello abbastanza alto per
il negozio di musica che pensiamo di avere
queste queste quattro cinque cose nella nostra
sistema di cose veramente di alto livello
cosa interessante con la musica con
un contesto migliore è in realtà un tipo di nido
se ci pensiamo al contesto di
lo sai questa conferenza che abbiamo
l’intera conferenza che dobbiamo organizzare
nazioni intorno alla mensa invece di
operazioni intorno alla caffetteria lì
c’è l’ equipaggio che gestisce tutto
sessioni di feedback e assicurarsi che otteniamo
dentro e fuori tutto quel genere di cose
iniziare il corso e iniziare a dividere
quando il modo semplice per farlo è in realtà
solo per cercare le cose nella tua lingua
ti fornisce in termini di codice di raggruppamento
insieme ho passato la maggior parte del mio lavoro
vita che lavora in Java Java ha il
concetto del pacchetto è il pacchetto
in realtà dal punto di vista del programma a
molto debole costruisce molte altre lingue
fai cose molto più interessanti con
pacchetti ma in realtà sono abbastanza utili
utile come solo raggruppare le cose insieme
del tutto come la struttura 101 può fare molto
buon lavoro ma in realtà ti sta mostrando il tuo
pacchetti e come essi sono correlati
cercando membro per tale accoppiamento lasco
quindi stiamo guardando il nostro contesto di Bannock
stiamo cercando l’opportunità di vedere i nostri
cose da accoppiare così strutturate
101 ti dà utili sono immagini come
questo quindi qui sto già vedendo alcuni
cose che sembrano così potrebbero essere
per i miei affari che devo ringraziare
un criterio di prenotazione un piano di commissione
sistema di report e puoi iniziare a vedere
alcune cose interessanti come è gentile
di strano sai che posso capire così
per esempio perché i criteri di business
un po ‘ha bisogno del piano della Commissione, ma io
capire perché i link tornano indietro
non è così che funziona la nostra organizzazione
perché il mio codice sembra così e io
penso che il codice in movimento sia abbastanza facile
sono semplici refactoring che puoi fare
quindi se hai uno strumento che ti permette
visualizza i raggruppamenti all’interno del tuo
sistema esistente il tuo monolitico esistente
base di codice si può semplicemente chip nel tempo
via roba del turno intorno a guardare il
scorre e arriva a un posto felice no
deve essere tutto o niente molto molto
lavoro a basso impatto e quindi nel tempo è possibile
vai da un posto per il tuo grande monolitico
il servizio viene effettivamente suddiviso all’interno
stesso in una sorta di pacchetti da guardare
così mi spendo molto tempo
parlando di come ottieni questa parte
di questo è perché in realtà questo è il
parte facile e penso che la maggior parte di voi possa
capisci meglio il tuo dominio, c’è un
buon libro chiamato dominio di implementazione
design guidato che va più nel dettaglio
su come effettivamente ottenere nella
dettaglio di separarli effettivamente
concetti ma spesso solo da pete che parlano
alla tua azienda le parti interessate otterranno un
molte di quelle informazioni
il duro come sempre sono i database
perché fondamentalmente i dati sono chiamati
i database fanno schifo e ci sono spesso i
il più grande impedimento al modo in cui si rompe
a parte sistemi e servizi alcune cose
Parlerò dei nostri modelli
in realtà nei database rifrattori
libro che potresti voler leggere
specialmente se hai a che fare con un RC
database legacy un sacco di schemi di coping
nella loro casa separati e separati
questi sistemi in modo Ecco un esempio che
il carino il problema principale qui è questo
è il modo più comune di persone
rompere i sistemi è fondamentalmente
dimmi, ho il mio mana di musica spessa
negozio ho intenzione di tirare fuori il mio servizio
e saranno tutti reintegrati
al database e questo è un po ‘brutto
cosa fare perché se cambio
qualcosa nel negozio di musica che potrei volere
per cambiare lo schema sottostante il mio
servizio posso fare ciò che non so
perché il mio servizio di raccomandazione è
parlando con lo stesso database abbiamo a
fonte di accoppiamento abbiamo bisogno di rompere questo
a parte, quindi hai davvero bisogno di separarti
quelle cose fuori e utilizzare lo schema separato
come possibile, quindi probabilmente finisci
con qualcosa del genere ho il mio
pacchetti prima cosa che vuoi provare e
fare è dove andiamo da un singolo
livello repository all’interno del tuo grande
servizio monolitico in realtà
separando quei repository per
essere su una base di contesto per fascia se
finisci per avere qualcosa di diverso
connessioni di connessione e cose del genere
ma è valsa la pena farlo
perché poi tutto il lavoro relativo alla
il catalogo è lì e visibile e
il tuo repository è un ottimo modo per
visualizzando le interazioni con il
lo schema dei dati e puoi vedere quali
parte lo schema che il catalogo usa e
quale parte la pelle con il magazzino
usa non è la fine della storia di
Certo perché ovviamente tu hai
integrità referenziale tra database
tavoli non è visibile all’interno del
livello applicazione lì se stai usando
strumenti di database relazionali come lo schema
spia sono molto bravi ad aiutarti qui così
puoi effettivamente vedere le relazioni
perché ci serve se voglio partire
il catalogo come servizio separato che ho
preso un chip fino in fondo e spostati
quello schema guarda alcuni esempi di
che così qui abbiamo un catalogo e un
tabella degli elementi pubblicitari e ho ottenuto finanziamenti
e ho un libro mastro non sicuro del
il registro è ma sono molto importanti
cose che il nostro libro mastro e io devo fare
generare un rapporto come parte della finanza
sistema ora il mio sistema esistente
il rapporto viene eseguito che sto mettendo insieme
informazioni dal libro mastro con
metadati aggiuntivi dagli elementi pubblicitari
tavolo per arricchire quel rapporto quindi lo so
quanti di loro non solo lo so
Ho venduto 50 oggetti di inclinazione 123 Lo so
questo q 1 2 3 è il più grande successo di
Justin Bieber è un album molto corto quindi
eccomi e sto mettendo tutto questo
ora qui però ho i limiti
contesto di finanza che raggiunge i dati
è un po ‘ più da vicino
associato con il catalogo ora se voglio
separare quelli come servizi che linee
può diventare un problema quindi ho bisogno di uccidere
quella linea potrei anche avere un referenziale
integrità dal registro in linea
tabella degli articoli ciò che devo fare è dividere
rompere entrambe le righe e ciò che io
voglio invece è quando il rapporto finanziario
viene eseguito dovrebbe andare al banner del catalogo
contesto e interfaccia e dire per favore
dammi che non è necessario e questo è un
cambiamento che puoi fare all’interno del singolo
servizio prima di separarli
come due servizi separati che poi ottengono
per mantenere i propri schemi
indipendentemente e poi quella relazione
che all’interno di un database relazionale può essere
una relazione con una chiave straniera o qualcosa del genere
così finisce per essere forse qualcosa
semplice come un collegamento a un’altra risorsa
guarda un altro esempio di codici paese arm
tabelle tabelle dei codici paese sono come il
utilità di stringa del mondo del database ogni
il progetto a cui sono stato sembra pensarlo
i paesi vengono creati molto di più
spesso di quanto pubblichiamo il nostro software
e così inseriamo il codice di questo paese
tavoli in là in modo che perché lei era un po ‘
un software probabilmente vero ma comunque
sai che lo hai messo qui, così possiamo
entrare magicamente e aggiungere una nuova riga
quando una nuova guida e appare o qualsiasi altra cosa
altrimenti come ho intenzione di dividere questo
beh, ci sono alcune cose strane che potrei fare
quindi il primo passo che potrei fare è
dare ad ogni contesto valido il proprio paese
la cosa dei codici sembra un po ‘tutti i due un po’
Un po ‘ eccessivo, potrei dire altrettanto
beh, c’è solo il codice statico, è solo
cose statiche sai che sto solo andando
mettere quei codici brevi paese in un enum
e attaccalo nel codice e ne hai alcuni
Mietitore e ho qualche effettiva duplicazione
tra il mio braccio bandito contesto ruggine parla
abbastanza bene all’inizio della giornata
su come effettivamente la duplicazione tra
servizi non necessariamente un problema, se
evita l’accoppiamento
in un ambiente in realtà lo abbiamo preso
cliente è per questo che quei codici paese
e ha reso un servizio separato perché
si trattava di una grande quantità di specie di
riferimento generale associato ai metadati
nomi di dati di aziende simili
e quelli abbastanza che è diventato un
servizio a sé stante per romperlo
connessione ecco un altro esempio a
finanziare il mio sistema di magazzino sia parlando
a una tabella di record del cliente a questo punto
Userò una parola strana perché io
penso che sia Neal che i ratti siano stati introdotti
parole fantasiose, così la parola che sto per dire
identificare qui è raggio alle cinque e ho
una versione diff non da Webster ma da
google che in realtà dalla vittoria com
vedere se siamo di raggio AFI significa
fare qualcosa di astratto renderlo più
il calcestruzzo lo rende più reale quindi se tu
guarda questa situazione ho il
sistema finanziario e il sistema di magazzino
entrambi parlano con una tabella dei record del cliente
il sistema finanziario sta aggiornando le cose
come questo cliente pagato sono rimborsati
il cliente è un oggetto di svolta che ho trovato
la quantità del sistema di magazzino
dicendo cose come ho ricevuto il
ritorno redfoot se ho inviato l’ordine
fuori e stanno aggiornando lo stesso
concetto il problema qui è che abbiamo
un concetto di dominio implicito che non ha
stato realizzato lo abbiamo scoperto mentre
passando attraverso il nostro schema di dati
qual è il concetto di dominio implicito qui
cliente quindi c’era qualcosa che noi
non lo sapevo, allora abbiamo scoperto che è così
divertimento come archeologia questa roba così
eccoci ora creiamo una nuova ballata
contesto e potrebbe essere molto molto
quello piccolo potrebbe effettivamente essere niente
più di una bella interfaccia in cima
alcuni alcuni mapping di ibernazione molto semplici
ma ora le finanze dal magazzino
sistema può parlare al contesto del cliente
che a sua volta parla di quel tavolo e se
Lo faccio scorrere fino in fondo
finire con tre servizi separati che
stanno quindi collaborando all’ultimo esempio
qui abbiamo il catalogo sul
magazzino e abbiamo un bel generico
tabella chiamata articolo perché gli articoli sono per
memorizzando oggetti e nella tabella articoli noi
avere informazioni come questa che abbiamo
le api 4929 ne abbiamo 40
quindi informazioni sull’ape 499 sul
record e 45 è il numero di elementi che abbiamo
in magazzino e quindi sia il contesto banner a
cura di quell’informazione quando sei
sfogliando il catalogatore che vuoi sapere
quanto costa e qualcos’altro in
il magazzino deve essere in grado di aggiornare
l’inventario e tutti quei tipi di
cose ma ne abbiamo effettivamente due
concetti separati qui e così a volte
quando trovi questi hai effettivamente bisogno di
prendi quegli schemi e in realtà separali
quelli a parte il database di refactoring
il libro parla molto di come puoi fare
quelle cose in modo frammentario così qui piuttosto
di avere un concetto molto generico ora
bisogno di essere molto più specifici e
esplicito in ciò che sto facendo qui
tirando questi due concetti a parte il
cosa fondamentale voglio quando arrivo qui
è che questo sarà un viaggio di
la scoperta um può essere un po ‘preoccupante
perché non è necessario necessario
grande piano diverso dalla comprensione
che vogliamo modellare i nostri servizi
intorno al suo contesto banner quello che sei
provare a fare è di alto livello quando tu
inizia a scalpellare la cosa fondamentale
capire qui è in realtà il costo di
cambia il costo del cambiamento intorno a a
la lavagna è molto bassa se una linea nel
posto sbagliato lo strofino e disegno un nuovo
linea è una specie di semplice se
Sto lavorando all’interno di una base sicura per dire
uno all’interno di un confine di processo e voglio
per spostare del codice tra un pacchetto
tra i pacchetti è uno spostamento f6
IntelliJ non è un’operazione
dovrebbe causare errori è molto
cosa facile e veloce da fare e se lo faccio
un errore posso scriverlo abbastanza
cambiando rapidamente il modo in cui i servizi parlano
insieme è molto più difficile perché se
Ho sbagliato il costo di questo è molto
peggio a volte quelli team quelli
servizi che dividiamo tra squadre separate
per esempio se ho bisogno di fare un cambiamento
e devo orchestrare il dispiegamento due
componenti e la modifica del database è
probabilmente anche più come abbastanza costoso
e questo è fondamentalmente un argomento
per un po ‘di pensiero iniziale no
un sacco solo un po ‘penso sempre
intorno a una lavagna e in realtà
pensando a come questi migliori contesti
interagire e come apparirebbero a
il servizio è un esercizio molto sensato come
quanti di voi quando la vostra università ha fatto
teoria orientata agli oggetti e discussa
le cose del collaboratore di responsabilità di classe
Poche volte e sospetto come tutti voi
come me, comunque, l’ho fatto all’università e
pensavo fosse davvero interessante
esercitare e quindi probabilmente non l’ha mai usato
mai più e penso che sia un enorme
quantità di overkill per gli oggetti I
in realtà penso che sia molto sensato
per i servizi basta andare in giro a
lavagna di quale responsabilità è
questo servizio come si parla qui
proviamo un caso d’uso che farò con questi servizi
la sorella parlante è come cinque volte durante
questo caso d’uso forse è un segno
sono troppo strettamente coppie e dovrebbero
essere una cosa questa cosa è circolare
de pitches dovremmo stuzzicare quelli a parte
due conversazioni molto semplici e semplici
può avere intorno a una lavagna e
in realtà alcuni degli esercizi intorno a crc
le carte funzionano abbastanza bene quindi quindi
la prossima domanda, naturalmente, va bene, se lo sono
rompere queste cose a parte e lo so
quel contesto Vanek annidato all’interno di ciascuno
altro ho il negozio di musica che ho il
magazzino inizio a dividermi
all’interno del magazzino o concetti all’interno
il magazzino vado quanto è piccolo
piccolo ora per un servizio c’è buono
cose di essere un piccolo pezzo di codice
che è piccolo è abbastanza facile
capisco la casa perché vado prima
mi provoca problemi da qualche altra parte e
questo è davvero dove un sacco di
interesse e microservizi sono arrivati
circa e il movimento verso più
sono arrivate architetture a grana fine
circa in gran parte perché abbiamo avuto un
un sacco di tecnologie abilitanti che
hanno ridotto il costo di avere di più
tipi di servizi in giro che abbiamo
automazione dell’infrastruttura cloud e
ne abbiamo anche capito
modelli architettonici e distribuiti
i sistemi sono molto più maturi e quindi noi
ora ho la possibilità di andare molto di più
benissimo come mai prima ma come
grana fine dovrei andare e e e cosa
sono i benefici di farlo così sono
parlerò di questo parlando
su Unix quindi sono un grande fan di Unix mio
la prima vera piattaforma professionale era
guardando fuori circa sei diversi Unix
varianti molto divertenti anche se vedi
i macro sono cattivi, dovrei sapere che ho scritto a
molto e davvero per capire perché io unix
ha avuto tanto successo e perché linux di
la parte posteriore che ha avuto tanto successo è
perché c’è in realtà un ethos
dietro a
quello che ha guidato al successo
dispiegamento di così tante diverse varianti
il loro sistema con questi stessi sottostanti
principi e sono un grande credente come
molti dei miei colleghi quando progettano un
sistema che ha principi che aiutano
guida la tua strada sono molto importanti e
ecco il suo Doug a Douglas McCrory di a
molto lavoro Bell e agli inizi di
UNIX parla di ciò che l’UNIX
la filosofia è questa è l’UNIX
programmi giusti di filosofia che fanno uno
cosa e farlo scrivere bene programmi
lavorare insieme scrivere programmi da gestire
flussi tecnologici perché quello è un universale
braccio di interfaccia ha un ragazzo intelligente che è tornato
in questo penso che sia solo un ram a casa
questo punto un po ‘di più come un libro chiamato
l’arte della programmazione UNIX che sono
certo il ripsnorter ma non ho letto
ciò che ho fatto è scoperto
su wikipedia e copia pezzi di
wikipedia nelle mie diapositive ci sono
sostanzialmente in questo libro sono io penso
17 regole dei colloqui letirici di Eric UNIX
penso che sia molto seriamente in discussione
sulle regole e ne ho individuate alcune
regole che ti danno bene mi piace molto come
per le regole generali per tutti i sistemi è il
dovrebbe essere la regola degli sviluppatori di modularità
costruire un programma partendo da semplici parti
collegato da interfacce ben definite così
problemi sono locali e parti
il programma può essere sostituito in futuro
versioni per supportare nuove funzionalità questo
regola mira a risparmiare tempo sul debug
debug di codice complesso questo complesso lungo
bene illeggibile la regola della semplicità
gli sviluppatori dovrebbero progettare per semplicità
cercando modi per suddividere il programma
sistemi in modo semplice e diretto
pezzi di cooperazione a cui piace il
piccola cosa qui non ha questa regola
mira a scoraggiare l’affetto degli sviluppatori
per scrivere intricato e bello
complessità che sono in realtà bug
programmi inclini mi sento abbastanza offeso
su questo perché ho fatto questo
per molto tempo mi piace il mio grande
sistemi complessi e Neil ha parlato prima
prima di pranzo su questa questa sfida
che spesso non abbiamo vincoli
posto su di noi e quindi permettiamo il nostro
i sistemi diventano grandi e complessi sono i miei
il preferito è la regola del potere
simoni quindi non uso impulsi a sufficienza
molti sviluppatori dovrebbero evitare di scrivere in grande
programmi di nuovo lui è davvero alla guida del
punto a casa al punto di essere noioso
ora questa regola mira a prevenire oltre
investimento in termini di tempo di sviluppo fallito
o approcci sub ottimali causati da
proprietari del programma riluttanti a
buttare via pezzi di lavoro visibilmente grandi
i programmi più piccoli non sono solo più facili da fare
ottimizzare e mantenere sono più facili da
cancella quando deprecato questo è veramente
roba davvero importante penso che sia ok
se il consiglio della tua azienda lo sa
il nome di un sistema nel suo complesso se il
il consiglio di amministrazione della tua azienda conosce il nome di
un servizio in quel sistema è già
troppo grande per poter uccidere facilmente questo è
il problema sono grandi sono visibili
molti rischi associati ma se ne hai bisogno
per cambiare l’asse del dolore nel culo
come troppa attenzione non posso farlo
questi sono i grandi sistemi legacy complessi
con esso se il mio servizio è bello e piccolo
posso riscriverlo a chi importa di nord
quasi ha causato questa progettazione per riscrivere
piuttosto che riutilizzare rendendo le cose piccole
abbastanza da poterli riscrivere in a
nuova lingua in un modo diverso solo per
rendere più facile capire di più
eseguire su qualunque cosa sia, ma abbiamo bisogno di
pensa a cosa pensa unix come a
programma che molti di voi qui probabilmente useranno
linux e se hai il massimo sei stato
forse la linea di comando questo è ciò che a
il programma unix ha l’aspetto di un alice che elenca
una struttura di directory che passo nel testo
con gli argomenti della riga di comando se voglio
ottenere l’uscita su un altro programma ho a
interfaccia di testo uniforme chiamata pipe so
questo richiederà LS e invierà l’output di
quello ad un altro programma chiamato grip
sta andando a cercare la parola Sam
questa è roba piccola ora che ho usato
LS da circa 15 anni so che ho usato
versioni completamente diverse di LS e
anche sulla piattaforma come ho usato
per un lungo periodo di tempo è stato NS
completamente riscritto le funzionalità I
sempre usato per usare ancora lavoro e nuovo
sono state aggiunte funzionalità ma quel codice
è stato riscritto fondamentalmente
più volte, quindi pensaci
un servizio quindi ci piace andare piccoli ma
quanto piccolo
dovrei andare è il mio collega James Lewis
ah chi sta commettendo il mac tipo tutor
di me, giovedì, James diceva sempre quando
gli è stato chiesto quanto sia piccola la sua assistenza
ha detto che hai detto non più grande della mia testa
arm la prima volta che ho tenuto questo discorso
era in Polonia in un cinema multisala e
James aveva la testa quattro volte più grande
che è qui che è stato un imbarazzante
conversazione per avere inizialmente era
di dire bene se posso adattarmi a tutti
codice per il servizio in uno schermo e il mio
la testa ha le stesse dimensioni dello schermo
è una specie di Plymouth stesso sul carattere
le dimensioni e um James significa davvero quello
il servizio non dovrebbe essere più complesso
e posso capire che dovrei essere in grado di
guarda e capisci cos’è quel servizio
sta facendo a quel livello di quel servizio
dovrebbe concettualmente adattarsi al mio
testa dentro il mio cervello ne ho sentito altri
persone che dicono certe organizzazioni
che pratica molto a grana fine
architetture hanno come regole di
pollice come 200 linee di codici circa
le righe di Tony sono codoni sembravano a
parliamo del nostro negozio, facciamolo
pensa al nostro webshop pensa al
servizio cestino cosa farò
con un cesto vado ad aggiungere al carrello
sto per rimuovere dal carrello sono
andando a guardare il cestino anche se questo
è stato inserito in un database per
persistenza tra le sessioni vorrei
in realtà essere un po ‘imbarazzato se io
non potrei scrivere quel servizio e ascoltare
a te sulle linee del codice sono anche dentro
Accesso Java eseguiamo il logout di accesso
loggato sono tre cose che sto facendo
di nuovo a un codice di consigliere sembra
registro di registrazione ragionevole ok
dopo capisco cosa c’è dentro
il mio cestino cosa dovrei raccomandare io sono
essendo un po ‘sciocco ma quando tu
effettivamente prendere questi contesti e rompere
A parte te, figlio, inizi
capire il tuo sistema non sembra
quel complesso dopo tutto questo in realtà
ti permette di concentrarti sull’essenziale
complessità piuttosto che accidentale
complessità che viene spinta al tuo
i punti di interazione è molto difficile
capire come questi sarebbero più di
un paio di centinaia di righe di codice e se
Ne farò saltare via uno e lo sostituirò
con qualcos’altro, posso farlo
è meglio così perché non potrei farlo
portare a questo tipo di grandi sistemi di
molto molto fini hanno un sacco di
interazioni tra loro tipicamente
a questo punto se sto permettendo domande
che non devo perché sono preoccupato
di essere in ritardo nel tempo puoi chiedere
domande successive tramite l’app premere il
il bottone verde è una delle cose
come le prestazioni solo le prime cose
Ho fatto in realtà che ho preso un servizio
Ho rotto il contesto del banner all’interno del
lo stesso servizio aveva risorse diverse
piscine che parlano allo stesso database
questo sarà ovviamente più lento
non è quello che stai parlando di Sam
questo è pazzo che ora sto per fare
più chiamate di servizio per assemblare il mio
applicazione che sarà lenta e
allora abbiamo una grande battaglia per le cose così
a questo punto vorrei solo dire alcuni
le cose in primo luogo le prestazioni non sono le
la cosa più importante non mi interessa cosa
applicazione che stai costruendo performance
non è la cosa più importante per te
quali caratteristiche hai bisogno di alcune funzionalità
altrimenti è un’applicazione molto veloce
niente è inutile, quindi c’è sempre
le prestazioni di compromesso sono spesso in competizione
contro altre cose che sono importanti
per te è in competizione con la velocità di
la consegna sta morendo contro i dati
disponibilità del servizio di durabilità
coerenza delle informazioni nel suo insieme
compromessi hai ciò che sembra buono
come per il tuo sistema ciò che è performante
per il tuo sistema ora dimmi quanto velocemente
il tuo sistema è attualmente e poi lo faremo
parlare di quanto velocemente sarà possibile
facciamo il resto come sempre con
queste cose si verificano abbastanza spesso quando tu
rompere questi sistemi a parte, scopri
altre opportunità per rendere il tuo sistema
più velocemente inizi a staccarti
alcune parti e alcune ricerche
le funzionalità in realtà diventano più veloci perché
non sono più incatenati al calcolo
percorsi o l’intensità di I / O di un altro
tipo di operazione, così spesso le persone dicono
e poi quanto piccola dovrei andare bene tu
sai che vuoi ridurre il limite
in realtà non le linee di codice che ottieni
più beneficio ai piccoli servizi
perché è più facile comprendere il
codice ma troppi servizi e troppi
tipi di servizi discreti possono essere
problematico e l’altro vincolo
quello che entra qui è il tuo funzionamento
e la maturità architettonica quindi pensiamo
di dalla vostra maturità operativa nel
vecchio mondo abbiamo avuto un grande servizio e noi
non avrà più istanze di quello
fatto di carico che li bilanciava e si sedettero
sulla grande scatola ah questo è molto facile
modello per capire per comprendere
in un nuovo mondo andiamo al servizio più piccolo
non è la prima cosa che fanno molte persone
è giusto dire che ora avrò un sacco
di cose su una scatola tengo le mie scatole questo
diventa problematico prima di tutto
un tipo di operatore della porta seduto ci sono chi
deve andare e distribuire queste cose e se
le persone hanno scelto una tecnologia diversa
stack che è molto doloroso maggior parte dei negozi I
Sappi che questo ha una grana molto fine
le architetture si standardizzano su uno o due
piattaforme tecnologiche in modo che possano essere a
JVM e un negozio Ogier in parte
perché vuoi la comunanza che vuoi
probabilmente qualche stratagemma è facile
abbastanza simile ma in secondo luogo si ottiene
problemi nel vecchio mondo se ne avessi uno
avviso su una scatola e aveva solo un servizio
su quella scatola, lo sapevo bene
il servizio è buono, quindi è influenzato da
quell’avviso o chiama il numero il
attività di ragionamento che fai quando
trattare con quella condizione era molto
più semplice ora quando ne ho multipli
servizi in quella scatola che chiamano
il problema qual è l’impatto di ciò
problema sta succedendo ora così questo diventa un
un po ‘ più impegnativo, quindi se puoi quando
ti stai spostando verso servizi di grano più fini
prova ancora a mantenere quello a uno
mappatura tra il servizio e l’host
sta funzionando così piuttosto che avere
grandi scatole con tanti piccoli servizi
prova ad avere una scatola più piccola di una più piccola
servizi che espellono effettivamente Lee
semplifica il sovraccarico operativo in
termini di comprensione del nostro sistema
il lavoro rende anche la vita più semplice
in termini di provisioning se hai
un esempio un ambiente dove puoi
fornire questi host su richiesta forse
stai usando qualsiasi cosa da lxc all the
fino a dire VMS o Amazon o come
il tuo per far apparire il tuo calcolo è possibile
poi tiri su le scatole che faccio inciampare
servizi e distruggerli allo stesso tempo
questo ti permette di farlo davvero
continua a mantenere la vita operativa
squadra meglio non è un problema da pensare
se avessi una scatola grande è una specie di
in genere ha uno stato binario in termini di
essere felici o è all’altezza o è vincolato
è una specie di semplice ah no è
di cosa si tratta di uno dei grandi sistemi
come questo è tutto complicato ora cosa succede se
questo ragazzo nel mezzo è giù è il mio
sistema su o è il mio assistente giù il braccio
non sanno un po ‘più confusa è diventa
un po ‘più di confusione per capirti
avere per ottenere una migliore, per esempio a
sapendo che il ragazzo qui in alto
potrebbe avere un problema perché qualcosa
a valle ha un problema che devi ottenere
molto intelligente per tutti i tuoi endpoint
bisogno di mappare e capire la salute
le loro risorse a valle devono ottenere
bravo a monitorare i tempi di risposta di tutti
di questi singoli componenti a
capire dove potrebbero essere i colli di bottiglia
questi non sono problemi che hai avuto nel
passato con l’unica grande scatola se qualcosa
o lento è l’ unica grande scatola che c’è
nient’altro al mondo ora in questo
il mondo è qualcosa di lento ciò che è suo
causando il problema e così da un
punto di vista operativo la quantità di
il dolore che stai per soffrire non è basso
a quanto è grande o piccolo un servizio
sarà circa il numero di loro il
numero di quelle cose che stai gestendo
quindi devi capire quanto è maturo
la tua organizzazione è in termini di
gestire non solo le implicazioni sono
interruzione sicura a valle e
brevetto architettonico richiesto per garantire
i sistemi distribuiti stessi possono essere
stabile e poi inizierò con Magna
le guardie rilasciano il libro ma anche il tuo
maturità operativa per quanto è facile
per eseguire il provisioning degli host per i tuoi servizi
la facilità di implementazione dei servizi
cosa gli sta succedendo in produzione
e dipende da dove ti trovi
sei la vecchia scuola che devo fare a Rack a
inscatoli tutto o forse sono in un nuovo
scuola che posso aver fornito
tutto automatico e il mondo del cloud
sta per dirti dove è il tuo appetito
è per quanto piccolo e quanti di questi
cose che puoi permetterti di avere e
probabilmente è una regola empirica
inizia a grana grossa e diventa più fine
a grana perché imparerai cose a
sai una delle volte che la gente dice come
molti serve è un buon numero, dico come
molti di voi hanno ora e dicono cinque io
dì sei vai alle sei e vedi cosa succede
e poi vai a sette e poi vai a
otto e come andrai imparerai
cose e scopri che le cose non vanno
da uno a 20 se non mi biasimi
perché la tua vita diventerà una vita
diavolo perché quello che accadrà è che lo farai
scopri tutte le cose che non sapevi
sui fallimenti a cascata a valle e
il dolore del team operativo e poi
la nuvola ti odia alla fine questo è
tutto su altri commercianti
ma la cosa fondamentale qui è iniziare come
vuoi dire che andare avanti è lentamente spazzare via
ed emergere ed estrarre questi disegni
dove ogni contesto banner in particolare
vuoi girare e tirare fuori
il tuo servizio principale che sta per
dipenderà da molti fattori ho parlato
l’inizio forse questa area di codici
in realtà abbiamo bisogno di aumentare questo
set di funzionalità forse è che abbiamo un
molti cambiamenti che stanno accadendo in
questa una zona del codice e se tu
rendilo un servizio separato che possiamo
in realtà rilasciare questi cambiamenti senza
potrebbe influenzare il sistema generale
geografia forse tutti quei tipi di
cose ma almeno quando inizi
ottenendo queste tensioni ora puoi pensare
okay, quindi quello che devo fare, sembra
nel mio sistema ci sono molte idee
tipo di non sono davvero in giro
sistemi distribuiti che hanno una sorta di
ha aiutato a interpretare è pensare che tu abbia
cose come i sistemi orientati agli oggetti e
Carte CRC hai cose da
UNIX che processa il sistema operativo UNIX
quando penso anche a finire questo
presentazione la prima volta che improvvisamente
capito questo mi ricorda molto di tutti
le cose di cui Mike penetra parla
è il libro che lavora con il codice precedente
prendi una grande cosa cerchi giunture e
tutto ciò che sto suggerendo qui è che quelli
le cuciture dovrebbero seguire il dominio aziendale
o il dominio in cui stai operando
perché per natura tendono ad avere
potresti essere abbastanza caotico
organizzazione come il cavaliere bianco I
in realtà funziona, ma in genere la maggior parte
organizzazioni che hai queste esplicite
associato usare responsabilità esplicite
quei punti di interazione e sono
ottimi modi per modellare realmente i servizi
quindi in sintesi capisci i tuoi limiti
contesto dove sono come esistono
questa è davvero una grande opportunità per
le tue tecnologie per raggiungere quelli
persone nel tuo dominio aziendale uno dei
le cose che ci interessano sono quelle
come quei ragazzi parlano insieme o perché
non lo stiamo facendo nel codice
capire dove il costo delle modifiche se
non abbiamo una grande conversazione in merito
dove andrai a spostare il codice
inizialmente quando si inizia a entrare in
quando il database del compagno di squadra cambia o
i cambiamenti con i servizi domestici parlano con ciascuno
altri fanno un po ‘più in anticipo
pensando a quel punto per favore è così
strumento importante che puoi avere come
team di consegna come una lavagna e alcuni
penne e una gomma da palla che ottengo
sorpreso dall’organizzazione che ho
è stato dove è più facile ottenere un nuovo
Macchina collezionato la
è trovare alcune palle di gomma e cose
così è folle questo è molto
un viaggio incrementale che puoi eliminare
a questo gradualmente nel tempo lo è
in realtà è un ottimo modo per ottenere
la fiducia nel tuo sistema può essere un po ‘
più flessibile in una ricerca un po ‘più adattabile
queste cuciture si staccano gradualmente
le cose a parte la cosa fondamentale per me è
questo è stato fantastico nel permettere
organizzazioni per sperimentare di più quando
hai un grande servizio tutto mio
le funzioni sono lì ora per tutti i miei
il rischio è lì e se voglio provare un
nuova lingua provare qualsiasi quadro il rischio
di questo è enorme se riesco a separarlo
e indirizzare le modifiche a un piccolo componente
qui però cercherò un’idea in giro
funziona se non funziona è
in realtà creare un rischio piuttosto basso è a
un po ‘di codice che non cambieremo ho cancellato
seriamente non è la fine del mondo
dimenticare un paio di problemi qui
in realtà ti permette di essere un po ‘più coraggioso
non è solo in termini di indirizzamento
cose come debito tecnico ed essere di più
adattivo nel tuo modo di pensare ma anche in
termini di portare nuova tecnologia e
tecniche nella tua organizzazione e così via
un ultimo punto è che la dimensione è spesso
importante e in generale piccolo è spesso
meglio devi andare lentamente
capire che cosa il proprio livello di
la maturità è intorno all’architettura
modelli e attorno al tuo funzionamento
maturità penso che con quello sono fatto
quindi stavo per dire si, grazie molto
tanto
quindi spero che qualcuno di voi abbia chiesto
domande sull’app speciale tutto ciò che abbiamo
ha domande ok ok grazie okay
va bene così un motore di raccomandazione non lo è
200 linee di codice, forse una rete
richiesta di risposta alla cache da qualche parte
ma non algoritmi reali per
determinando le raccomandazioni degli utenti così noi
stai causando un servizio basato su questo
esempio penso che potremmo discutere
questo intendo dire semplice corrispondenza di genere
sarebbe perfettamente accettabile, penso
come sistema di raccomandazione per molti
la gente quindi direi che è un esempio
di un servizio ero un po ‘sciocco
con le 200 linee di codice che penso
all’interno di un’organizzazione intendo la cosa fondamentale
per me è quando entri in questo
microservizio mondiale se si inizia a
ti permettono di concentrarti sul tipo
della vera complessità piuttosto che del
complessità incidentale potrei immaginare a
servizio di raccomandazione che è giusto
qualcosa di semplice come dire il cd
il mio cestino è principalmente nel genere rock
Prenderò il top 10 del genere rock
registra e metti quelli fuori come
le raccomandazioni potrebbero non essere molto
sofisticato, ma sarebbe un inizio
un contesto limitato molto ovvio che potrei
quindi diventa molto più sofisticato
potrebbe iniziare a guardare il tuo paese
vivi nell’aria che vivi nell’interesse
tu e i tuoi amici avete di più
sofisticato la cosa fondamentale è dal
punto di vista del mondo esterno nessuno
nota solo semanticamente le risposte
meglio, spero che abbia risposto il
domanda se non sentirsi libero di vetro me
al di fuori di un’altra domanda durante lo spostamento
dai servizi composti da grandi a piccoli
alcune cose diventano più semplici ma in
introduce la complessità tra il
servizi dove è la causa principale di a
problema da proteggere
che ci sono più opportunità di
fallimento qualsiasi pensiero su questo assolutamente
spero di aver iniziato a toccarlo
Alla fine devi ottenere molto
intelligente sui protocolli che usi
parlare tra di loro che è lì davanti
il design è un collega molto importante di
il mio Eric denenberg gli utenti analogia dove
parla del concetto di città
pianificazione contro architettura con città
progettando è come SimCity perché lo hai
un certo hai la mia luce industriale
area qui I area commerciale qui non lo faccio
davvero a cuore cosa vedono gli edifici
quello spazio mi interessa
sulle strade tra di loro te
in realtà trascorri molto del tuo tempo come un
architetto che non si preoccupa di ciò che squadra
fa dentro la scatola e si preoccupa molto
di più su ciò che accade tra la scatola
la cosa fondamentale è che inizi a ricevere un
responsabilità di separazione le persone
all’interno del servizio mi interessa solo cosa
stanno facendo così gli architetti a pensare
riguardo le cose più complesse , eppure tu
necessità di monitorare i tempi di risposta per ogni
servizio che devi guardare a valle
segnalazione delle dipendenze che sei
sta andando facendo trend log decente
roba di aggregazione dicono che c’è molto
quando elencherai tutte le cose
persone che fanno architetture di grana fine
è una lista scoraggiante, è spaventosa
elenco che è il motivo per cui iniziare in piccolo e lo farai
vedi quando hai bisogno di presentarli
concetti Penso al tempo per un altro
okay ok, quindi i servizi di Mike lo rendono chiaro
senso per il sistema di back-end, ma come si fa
consiglio di esporre il set al meglio
domanda i servizi al fronting
clienti come desktop e dispositivi mobili
un approccio è lasciare che i clienti
interagire con i singoli servizi tramite
processo di scoperta e altri il sottile
facciata del livello di servizio che dà il cliente a
cantare rappresentando le risorse ciascuna
ha pro e contro apprezzerei il tuo
prospettiva um Penso che ai vecchi tempi
dove abbiamo sempre costruito solo siti web che avresti
avere come un grande web shop UI e quello
sarebbero tutte le tue cose lì e te
parlato con tutti i servizi di back-end
dietro le quinte penso sempre di più
penso che non regga più l’acqua
la cosa fondamentale che possiamo dire non è il web
e mobile è solo che ora abbiamo molto
dei clienti e non sappiamo chi essi
sono o dove saranno io
in realtà tendono ad avere in generale il
i clienti parlano direttamente ai servizi come
contrario al tentativo di creare un rivestimento sottile
servizi che stiamo cercando di fare
pensa davvero a questa idea di
architettura esagonale che vogliamo
evitare questo problema stratificato molto tempo
quando abbiamo clienti che parlano attraverso a
livello di servizio sottile in cui stiamo cercando di
spingere codice condiviso nel server noi
in realtà finiscono per fare cose come
creando servizi di aggregazione e tutto
quel tipo di cose e nel tempo che
può essere davvero difficile da gestire e tu
alla fine sai che ho un carico
di ora fa il suo specifico su un dominio
il contenuto come in realtà fa davvero soggetti
tu qui sotto penso servizi comuni
per i clienti che danno un senso alle cose
come guardare
handshaking per chiavi API in cerca di
attacchi di negazione del servizio accidentale
registrando potresti avere tutti i maniscalchi se
stai facendo sicurezza per essere sicuro
le persone hanno i diritti in generale
Io preferisco i clienti che vanno ai servizi
e con i servizi intermedi
non essendo nulla essere abbastanza agnostico e
certamente non capisco il
dominio ci sono volte che dobbiamo andare a
un po ‘nel mezzo, ma in generale resta
qui da queste parti, spero
Ho risposto a questa domanda come stiamo facendo
per tempo hai tempo per un altro
domande però va bene, grazie
tempo
Please follow and like us: