
sì, abbiamo pensato che potrebbe essere divertente che abbiamo avuto
un sacco di microservices interessati siamo
in una grande stanza per la grande ragione lì
molte persone stanno venendo e
abbiamo un gruppo di persone diverse
sfondi e hanno diversi
punti di vista su micro-servizi alcune persone
qui non sono d’accordo con me, questo è Fred
e questo è il motivo per cui sai che mi piace avere
questo è bello avere abbastanza conflitti
di interesse essere gentile, quindi stiamo andando
ottenere alcune domande in arrivo dal
pubblico dovresti essere in grado di andare e
fare domande sull’app, anche se abbiamo
ha avuto un paio di piccoli problemi con il
app per l’ultimo paio di sessioni ma
Ho intenzione di dare il via a qualcosa in un minuto
ma prima di andare avanti con il
domande del pubblico che ho pensato
forse ha chiesto alle persone di introdurre brevemente
loro stessi e una specie di loro
l’esposizione ai micro servizi è stata così
forse inizieremo con te, grazie Fred
Ciao, sì, il mio nome è Fred George
Ho giocato con i micro-servizi
via e via per circa dieci anni che ho fatto
un sacco di errori nel processo e così via
Sono molto molto prezioso di come li faccio
ora sono portato a Johnson, credo di averlo parzialmente
entrato nei micro servizi in primavera
non perché i micro servizi e la primavera
anche perché ovviamente micro
servizi molto più di qualsiasi specifico
linguaggio o qualsiasi quadro specifico ma
perché veramente i micro servizi sono
in realtà l’architettura che molla
sempre voluto essere come di nuovo nel
I primi giorni della primavera le OER sentivano che il
server applicativo monolitico di grandi dimensioni
non era la strada da percorrere quella strada da percorrere
con piccoli pezzi di funzionalità che
sono stati accoppiati attraverso ben definiti
contratti e conosci i micro servizi
totalmente in forma con quella visione e io sono
molto entusiasta di provare a interpretare un ruolo
in quel futuro buongiorno sono Jessica
Kerr è stato uno sviluppatore per 15 anni
e sono stato affascinato da micro
servizi da quando ho visto da quando ho sentito Fred
parla di loro per te
anni fa al nostro dev e al tempo io
era come un sacco di lingue itty-bitty
piccole cose che possiamo buttare via e
col tempo sai che non sono così entusiasta
le molte lingue o il super piccolo
dimensione o li stanno buttando via, ma io
Sono ancora molto interessato ai micro-servizi
perché rappresentano una forma di sistema
evoluzione e sono affascinato dal
evoluzione dei sistemi complessi che
sono il nostro software oggi ciao io sono Mike
Operazioni dell’architetto sviluppatore di Nygaard
e l’autore della mia particolare attenzione è su
software di costruzione che sopravvive
produzione nel mondo reale spendo il mio
lavoro di giorno facendo due cose diverse
sviluppando davvero piccoli accoppiati liberamente
parti di recinzione e consulenza a molto
grandi aziende che vorrebbero poter
si muove più veloce quindi ho questo tipo di
colpo di frusta quando vado da un concerto a
un altro concerto quindi guardo costantemente
modi di evolvere le cose più velocemente e
trattare con sistemi complessi, ma io sono
anche sempre diffidare della produzione
spese generali e oneri e prestazioni
implicazioni e implicazioni di stabilità
e così via, quindi guardo le cose con a
occhio disgustoso se riesco a mordere qui dentro
se non hai letto il libro di Michael tu
Davvero dovresti ringraziarti per il taglio
vendite per il comunque siamo ora obbligati
d’accordo con tutto quello che dice l’asta
forse solo per iniziare una domanda per me
e inizieremo a prenderlo per il
pubblico perché c’è un interessante
servizi di mercato ora che cosa è stato
diverso negli ultimi due anni perché
è la parola d’ordine è il tuo primo pensiero
di tutto abbiamo avuto un grande architettonico
enabler
attraverso il fatto che stiamo usando virtuale
macchine e ora contenitori e così è
ora facile da costruire e pacchetto molto piccolo
pezzi di codice e distribuiscilo contro di te
sapere allocare un’intera macchina per a
processo penso che sia stata la chiave
abilitante che ho visto sì, lo farò
a quello che l’altro facilitatore era in qualche modo
motivato dalla virtualizzazione che era
tutti gli strumenti per le operazioni automatizzate e
operazioni particolarmente automatizzate che
era open source quindi non dovevi
impegnare due milioni di dollari per attuare
HP openview per la tua azienda sì sì
penso che ci sia stato anche un più ampio
muoversi verso l’ utilizzo di un numero maggiore di
scatole più piccole che sono in corso per a
molto tempo ma sai che lo penso
micro servizi e contenitori davvero
rendila una cosa molto fattibile e io
pensare in realtà uno dei principali driver
sta facendo il vecchio modo sta diventando
sempre più problematico
abbiamo più tipi di clienti che conosci
c’è di questo che dobbiamo fornire affari
funzionalità più veloce anche se ci sono
sfide nell’adozione di micro-servizi che
penso che abbiamo imparato che il vecchio
il modo monolitico era come ottenere
verso la fine della strada sono d’accordo
i sistemi stanno diventando così grandi ora che noi
resta che rompere in su o macinano
completamente fermo e non possiamo cambiare
loro perché il cambiamento è troppo rischioso quindi
abbiamo dovuto trovare un modo per essere in grado di
apportare modifiche su scala ridotta a
disaccoppiare il lavoro di una squadra dal
18 altre squadre nel dipartimento così
abbiamo avuto una domanda in grazie
pubblico mi piacciono queste cose in arrivo
è un po ‘ impersonale qualcuno così Jessica
alluso alla dimensione dei microservizi
alcuni autori hanno suggerito
i micro-servizi dovrebbero essere sostituibili in
un singolo sprint c’è una dimensione giusta
per un micro servizio ora potrei iniziare
con Fred su questo perché lo so
Fred, hai una visione di questi noi
sorta di stabilirsi a Berlino alcuni dei
conferenze di micro-servizi è tipo di
tutti sono d’accordo che se è se è più di
un programmatore per sviluppare e progettare e
mantenerlo non è un micro servizio
la mia tende ad essere più piccola di un inquilino
avere 30 o 40 micro servizi per una squadra
di cinque o sei persone così generalmente loro
sono piuttosto piccoli nel mio mondo ma è così
più di un programmatore può ottenere qualcosa
la loro testa intorno a te probabilmente non è dentro
il micro mondo penso che tu abbia un intero
squadra e una squadra potrebbero essere idealmente come
meno di sei e poi ha ma
è solo per essere un servizio indipendente
e per me un micro servizio è che non lo faccio
interessa la dimensione quello che mi interessa è
rappresenta come un business
concetto e capacità e che mantiene
i suoi dati a se stesso sì tendo ad essere d’accordo
con Jessica penso che uno dei
maggiore asciutto
sono i dati e lo sai per qualsiasi cosa
la dimensione è appropriata per essere autonoma
per i dati che, ovviamente, non si vuole
avere un database di dio come ovviamente
non vuoi farti sapere un
Database Oracle RAC che sta cercando di
ridimensionare in modo massiccio e avere tutto il tuo
modello di dati aziendali ma sai se
c’è qualche dato distinto
che deve essere gestito per il tuo
attività che penso spesso indica
la dimensione appropriata del servizio in
davanti a me vedo le cose un po ‘
un po ‘ di un asse diverso che mi piace vedere
tutto il codice essendo codice usa e getta così
se qualcosa inizia a diventare abbastanza grande
che lo vedi come un bene che è
vale la pena di preservare quindi è troppo grande e
dovresti bersagliarlo per distruzione I
pensa una volta che iniziamo a vedere il codice come un
bene dove stiamo scendendo nel buio
percorso sì ho vinto penso che echeggiare le cose
che sia Fred sia Michael hanno detto uno
cosa a cui penso è se o
non potresti applicarlo di nuovo così
i micro-servizi dovrebbero essere abbastanza piccoli
che i rischi della sperimentazione sono
ragionevole
così supponiamo di voler scrivere un
micro servizio in Julia o qualche altro
linguaggio o struttura che potrebbe essere
percepito come rischioso in te lo sai
brutti vecchi tempi è come il nostro
l’architettura è per esempio quella di B su cui gira
WebSphere non puoi usare nulla di simile
non si adatta a questa architettura il micro
il mondo dei servizi è molto diverso da te
dovrebbe essere in grado di provare la sperimentazione
e sai cosa succede se non funziona
si dovrebbe essere in grado di reimplementato
micro servizio senza che tu sappia un enorme
quantità di tempo coinvolta sorta di
passando da quello intendo Jessica
Ho parlato prima di questa idea che tu
sentito parlare di micro servizi come grandi noi
può sperimentare con tutti questi diversi
lingue e questo è cambiato nel tempo
quindi cosa sai cosa pensi
sui poliglotti in questo mondo e forse
solo per divertimento, possiamo iniziare con Mike
per divertimento perché lavoro per l’azienda
quella chiusura posteriore sì, ho pensato che sarebbe
Sii divertente, intendo così così tu compri
in tutta l’idea che dovremmo essere
poliglotti con le nostre architetture di Marko
quindi sicuramente considero Polly come un
beneficiano dei micro servizi
ti permettono di essere poliglotta io non tengo
come obiettivo essere poliglotta ma permettendo
diversità negli stack tecnologici e e
ridurre il costo di cambiare una decisione
in ciascuno di questi punti di implementazione
è davvero prezioso sono stato in un sacco di
aziende in cui ti darò una buona
esempio concreto stavo lavorando con a
società che aveva il proprio
implementazione di JDO che risaliva
da come il primo punto-com crash il
Java che non vuoi sapere davvero ma
questa cosa era stata una buona idea a
un punto nel tempo e ora era il
fondamento per la loro intera attività
loro avevano migliaia di oggetti
mappato attraverso questa cosa era loro
la propria implementazione da cui era divergita
la versione beta dello standard che conosci
c’erano molti modi in cui volevano
per scendere da esso, ma non poteva perché
assolutamente tutto lo ha usato così il
idea di abilitare i linguaggi poliglotta
e framework e stack tecnologici sono grandiosi
perché allora puoi fare cambiamenti a tratti
e permettere alle persone di sperimentare con il
testo diverso as e dire sì questo è un
bravo dovremmo parlarne tra
noi stessi e forse lo diffondiamo ulteriormente
ma non significa che tutti quindi costruiscono
in ciò significa che lo sai ancora
avere la capacità di cambiare punto saggio
Fred, so che hai avuto un sacco di cose da fare
su si lo sento solo poliglotta e
aspetto di ambiente come creare
che è solo un aspetto dell’innovazione
che vuoi trasformare i tuoi programmatori
sciolto senza vincoli e così via
meno regole devi mettere in atto il
meglio di te nella maggior parte dei casi loro
tendiamo a sapere scegliere un paio di
lingue diverse per lavorare in forse due
al massimo
così si sistemano su di esso, ma non avendo
dover dire loro quale usare
dà loro una certa capacità di innovare
quello spazio e molte altre cose come
questa è la chiave dell’innovazione è solo ottenere
sbarazzarsi delle regole girare con loro
i problemi penso a quello che Michael ha detto
sul disaccoppiamento che è necessariamente
succede quando sostenete poliglotti è
davvero importante e quindi mi piace non usare
tutti lo stesso linguaggio proprio perché
ti costringe a non maglie in questo gigante
quadro che è
dipende da questo, tuttavia, io non sono
davvero impressionato con il dovrebbe usare
lo strumento giusto per il lavoro, ma penso
abbiamo sottolineato che dovresti
come scegliere la lingua perfettamente
si adatta al problema che può davvero diventare
passaggio doloroso da una lingua a
un altro
avendo proibito di avere 40 o 50 micro
servizi sulla tua squadra e stai andando
dalla lingua alla lingua tutto il giorno che faccio
che al lavoro lavoro in troppi
lingue già ed è doloroso così
quando scegli lo strumento giusto per
il lavoro che lavoro non è solo il
problema aziendale che stai risolvendo è il
l’ecosistema in cui lavori è il
strumenti di distribuzione che hai
sono le lingue che tu e il tuo
la squadra con cui hai familiarità fa parte
il sistema
questo è il problema che stai risolvendo così
quello che vi capita di sapere già che
questioni penso che anche si riduce a
quali sono il funzionamento e il contratto
requisiti dei singoli servizi
quindi per esempio non lo farei
sostenere scrivere tutti i servizi in Java o
o chiusura o Python o qualsiasi altro singolo
linguaggio standard Credo che questo sia un
errore e penso che faccia schiacciare
innovazione come Fred ha menzionato tuttavia
Penso che sia ragionevole imporre
determinati standard che potrebbero essere concordati
dall’organizzazione generale come te
sai cosa se stai per esporre a
Interfaccia riposante forse è necessario
fornire una descrizione spavalda di quello o
conosci il noleggio o qualunque sia il tuo
la lingua franca preferita è penso
è abbastanza ragionevole dire che puoi
scrivilo nella lingua che preferisci
ma deve comportarsi in determinati modi
forse ha bisogno di fornire una certa salute
controllare gli endpoint per abilitarlo
gestito non penso che tu possa averlo a
scatola completamente nera dove conosci dio
aiutarti a quello che stai per ottenere quando
lo invochi perché non c’è modo
posso sapere sì, se è un’app di 12 fattori
non importa cosa sia dentro
perché si può operare e monitorare
allo stesso modo che volevo rappresentare
un altro punto di vista che quel Fred e
Ho avuto modo di ascoltare Chad Fowler
lista delle meraviglie dove ha parlato dell’essere
in lui ha parlato di far rispettare il poliglotta
attraverso la sua squadra in modo specifico loro
non creerebbe librerie riutilizzabili
voleva assicurarsi che nessuno lo fosse
condividere il codice e renderlo riutilizzabile
librerie che sarebbero un punto di
accoppiamento tra i diversi servizi
ora questa è una prospettiva piuttosto radicale
Non lo difenderei necessariamente
in tutto il mondo ma è un punto di vista che
questo è successo per loro
Penso anche che non ci sia
intendo dire ” taglia unica”
le architetture dei micro-servizi sono
intrinsecamente legato alle organizzazioni
che li sviluppa e tu conosci diversi
le organizzazioni hanno culture diverse
non tutte le organizzazioni vogliono avere il
stessa cultura quindi sai che penso sia
opportuno considerare che e io an
l’organizzazione potrebbe scendere a
continuo si sa tra punto a e
punto B in modo diverso ma abbastanza valido
posto per altre organizzazioni sorta di
correlate a quella estrema Fowler chad
esempio chad non ama essere estremo
la preoccupazione è guidata dall’accoppiamento
sai che quelle librerie sono
accoppiando come gestisci l’accoppiamento e
anche punto in realtà come gestisci
evoluzione dei contratti come si evita
rompere altri servizi e e cosa
quali tecniche hai visto lavorare o di
Naturalmente ho sostenuto tecniche associate
con bus eventi e asincroni
servizi e il livello di accoppiamento è
fondamentalmente ai livelli di messageformat
ma pratichiamo molto permissivi
strutture in quella struttura abbiamo imparato
le nostre lezioni con XML quindi non è così
stato veramente un problema relativo a
Infatti abbiamo avuto oltre 300 micro servizi e
zero documentazione del nostro messaggio
i formati non ne avevano bisogno, ero un po ‘
sorpreso da quello, ma questo è quello
in realtà come si è scoperto
se ottieni l’accoppiamento tra i servizi
livello c’è c’è c’è un
spettro qui c’è un trade-off in uno
estremo hai la retrocompatibilità
come la stripe API esterna è completamente
compatibile all’indietro non solo una lettura
compatibile all’indietro ma qualunque cosa
versione dell’API che si riceve quando si
per prima cosa lo chiamerai magicamente
per sempre così lunghezze estreme
la retrocompatibilità è tecnica
soluzione ad un problema dall’altra parte
hai quello che facciamo di più internamente
che è la coordinazione che sei tu
in realtà lavorando con una squadra per dire okay
lo cambieremo per
compatibile all’indietro e poi lo sei
farò il rilascio e poi lo saremo
lascerò cadere quello vecchio e questo è meno
codice e più persone interagiscono così io
credo che tu abbia un hai un
il commercio là fuori penso che questo sia un
area importante dove c’è
molto più lavoro da fare
perché penso che essenzialmente tu
molto spesso ottenere servizi che sono accoppiati
da qualcosa o è un messaggio
formato o in realtà un contratto e lo faccio
pensa che le persone debbano essere molto
attento a ciò penso che li penso
dovrebbe essere esplicito e questo è il motivo per cui io davvero
come ogni forma di te sa forte
documentazione se è spavalderia o
qualunque essa sia o messaggio che formatta
lo so che sarà diverso ma penso
è piuttosto importante essere
esplicitamente penso che possa aiutare gli sviluppatori
può aiutare a testarlo può aiutare
automazione e può anche aiutarti a individuare
cose che potrebbero rompersi prima di loro
in realtà si rompono yeah I’m I’m with rod on
questo e non solo perché ha spennato
il mio libro prima ma ma veramente con lui
su di esso abbiamo effettivamente sviluppato
alcuni strumenti che prenderebbero una spavalderia
specifica e applicare un derivato di
le nostre tecniche di test di simulazione così noi
può esercitare un’interfaccia e dire guardare
il tuo protocollo afferma che tu permetti
questi input ti abbiamo dato un’attività
sequenza che includeva questi input e
guarda come hai vomitato su tutto il nostro
scarpe usando quel tipo di tecnica
e test generativi otteniamo molto di più
bang per il nostro dollaro di quanto vorremmo con qualsiasi
tipo di unità o test di integrazione e
quindi anche avendo questa specifica
possiamo applicare strumenti meccanici per dire
la tua nuova versione sta espandendo solo la
contratto quindi è indietro
compatibile o possiamo dire mmm sei ora
richiedendo qualcosa che non hai richiesto
prima è una contrazione nella tua
contratto non consentito è una rottura
cambiare e, facendo ciò che possiamo
applicare le regole localmente ai livelli di
servizi individuali che li rendono
cittadini migliori nell’ecosistema yeah
Sono assolutamente d’accordo perché penso che il
la realtà è che la complessità non va mai
lontano
siamo praticamente senza speranza
l’industria sta combattendo una speranza
spero non importa cosa facciamo meglio di
abbiamo fatto l’anno scorso o le persone di ieri
venire con nuovi requisiti che
rendere la vita più difficile, che vogliono roba
è più complesso che vogliono roba
più veloce quindi lottiamo sempre contro l’entropia
e la realtà è se ti sbarazzi del
monolite a cui si muove l’entropia
il tipo di join e contratti o mancanza
tra i tuoi micro-servizi e
è davvero molto probabile nel mio
esperienza di morderti a meno che tu non sia
in realtà molto consapevole di ciò che darò
per il giro di vite politico su questo libro quindi no
lui non è d’accordo oh sì non sono d’accordo
con questi ragazzi è un’assurdità, ma è così
laurea i miei ambienti sono stati
diverso che abbiamo sviluppato
applicazioni per il consumo interno
all’interno delle mie società quindi non ci stiamo provando
per pubblicare le API che non stiamo cercando di
stipulare contratti con il mondo esterno
non abbiamo utenti esterni in più
cercando di utilizzare il nostro sistema abbiamo avuto modo di
capire chi dare la colpa a quelli che non lo sono
problemi che ho dovuto affrontare con tutto quello che faccio è
costruire sistemi per un client interno a
renderli felici con cui erano seduti
io ho quei dialoghi lì io
non ha bisogno di scrivere la documentazione
quindi vorrei io non abbonarsi a
sempre hai sempre bisogno di un documento
perché lo rende migliore o tuo
sponsor complicati che non voglio
passa il tempo a farlo quando non lo è
necessario ho più cose a che fare con
i miei soldi e quindi voglio andare più veloce e
questo mi rallenterà il percorso di allenamento a
un po ‘ qualcuno ha fatto una domanda su come
gestisci la porta principale quando hai
ho detto cento microservizi cosa fare
si fa in termini di avere una facciata a
il mondo esterno è questo dove vorresti
utilizzare un gateway API o quali esperienze
di voi ragazzi avete avuto la soluzione di questo genere
di problemi alla fine vengono tutti
fino a qualcosa che assomiglia a a
il router di gateway gateway taglia la valvola a farfalla così
che conosci la scoperta e
la posizione e la denominazione sono molto
aspetto importante ma c’è anche il
aspetto operativo di dire ad alcuni
puntare i tuoi clienti stanno andando
berserk e cercare di uccidere il sistema in
Infatti a volte ancora di farlo per
voi stessi avevo un cliente che era
funziona con un tipo di intelligenza del canale
del vestito e ha detto loro di iniziare
indicizzazione di ogni documento in cui erano presenti
da che punto si fanno da soli
il loro canale
partner e se non hai qualche mezzo
di strozzare che sei morto
quindi c’è sempre una sorta di a
confine oh e metti un limite sul tuo
anche perché a volte il tuo
malfunzionamento dei fornitori: ne hai
tecnologia o qualsiasi consiglio di cose in
quello spazio una cosa che ho sentito nel
domanda e questo è un po ‘ al di fuori di
la tecnologia perché sì intendo a
un certo punto hai bilanciamento del carico
sta colpendo determinati servizi ma se tu
ho un centinaio di servizi micro spero
quelli non stanno tutti parlando all’esterno
mondo perché ad un certo punto sei ancora
bisogno di un livello di organizzazione sopra il
processo quindi si spera che questi micro
i servizi stanno funzionando in poco
ecosistemi che essi stessi espongono
certe API che sono più destinate a
chiama dal mondo esterno o
forse da altre parti del
organizzazione e questo e alcuni di questi
cento micro servizi sono solo pochi
gli aggregatori che sono come va bene c’è
questi tre servizi interni che sto per fare
mettere questa roba insieme e dare a
in un formato leggibile all’esterno
questa squadra sono d’accordo con il punto di Jessica
lì penso che ci siano cose che noi
imparato nel vecchio mondo della scrittura molto
grandi applicazioni monolitiche che può
essere ancora prezioso è come se tu lo fossi
ha un numero di sottosistemi in un grande
applicazione monolitica che si desidera limitare
l’ accoppiamento tra loro giusto che tu voglia
ciascun sottosistema per fornire una superficie
questo è gestibile da altri sottosistemi
e vedo che è praticamente la stessa cosa
problema come descritto da Jessica tranne che
ovviamente è con il diverso set di
tecnologie penso onestamente se lo lasci
i tuoi clienti esterni a tutti i tuoi
centinaia di micro servizi e poi tu
potresti anche rinunciare perché male
le cose succederanno che accadrà si
Penso che la situazione sia di tipo
analogo a se stai costruendo un grande
sistema monolitico e eccesso di
tutti per ogni classe che hai con
ogni metodo pubblico disponibile non c’è
solo alcune di quelle uscite verso l’esterno
mondo
alcune porte nel sistema
il sistema si accende e sputa il
risponde di nuovo e io faccio la stessa cosa
quando costruisco sistemi di micro server ordinano
di sorta di relativo a questo in un modo
come dovrebbero le fonti micro parlare a ciascuno
altro
dovrebbero dovrebbero solo usare sempre
dovrebbero essere i bus di messaggi asincroni
basta parlare tramite il protocollo HTTP 50 che cos’è
la risposta giusta
Penso che non ci sia una risposta giusta
questo penso che dipenda da molto
il problema ma penso che ci sia
una sorta di decisione architettonica per essere
fatto abbastanza presto hai intenzione di andare
tipo di un sincrono riposante come
processo di registrazione o stai andando a
prova a conoscere il disaccoppiamento ancora di più
e penso che tu sia il tipo di problema
cercando di risolvere i driver che rispondono
Penso che i sistemi tipici finiranno
avendo alcuni casi di entrambi ma tu lo sai
significa ovviamente accatastamento sincrono
chiama che non ha intenzione di lavorare quindi lo sai
Io non penso che tu possa costruire
un sistema di qualsiasi complessità puramente
attraverso funzionamento sincrono è possibile
costruire un sistema di qualsiasi complessità usando a
invocazione sincrona ma in alcuni casi
probabilmente finirà per essere di più
complesso di qualcosa che coinvolge
un po ‘di uso sincrono voglio dire, penso
idealmente dovremmo guardare alle tecnologie
che in realtà rendono relativamente facile
fai quella scelta così per esempio se fossi
implementando un micro servizio lo farei
voglio attuare tanto del
funzionalità possibile in modo che potrebbe essere
dietro diversi stili di invocazione quindi
per esempio non vorrei che tu lo sapessi
dì se stai scrivendo in qualsiasi tecnologia
che ha qualche tipo di controller web
controller restful intendo ovviamente te
non voglio infornare la tua logica aziendale
in là perché che sta per essere un
problema se mai ti rendi conto che forse
un approccio di messaggistica era meglio lo farò
Diciamo che forse non stai facendo
tutto su HTTP e JSON che è
come la prima cosa ed è la
cosa più semplice e parte della ragione è
perché è un po ‘come un essere umano
comprensibile e uno dei problemi
con i micro servizi è la tracciabilità
è come fai a sapere cosa è andato dove e
come segui i bit e se lo hai
ho ottenuto la stampa JSON sui log come
lo facciamo ad ogni richiesta, allora è così
aiuta con il debug e aiuta con
la comprensione umana non aiuta
con velocità così al punto in cui
diventa troppo lento sai che puoi farlo
che r0m coda o qualcosa più veloce I
non non una persona di protocollo ma poi
considera come implementerai
tracciabilità e come hai intenzione di
in particolare, rendere più leggibile questo sistema
come cresce e diventa più complicato così
come dovrebbero parlare i micro servizi a ciascuno di essi
altro perché attraverso gli interruttori di circuito di
Certo che c’è una resilienza
la conversazione da fare qui non è lì
mic voglio dire alcuni dei protocolli
noi selezioniamo non sempre prestiamo
sì, sto facendo una piccola lingua sulla guancia
ovviamente ma nei miei workshop e in
le mie sessioni lo sottolineo sicuramente
conosci la maggior parte delle operazioni
i problemi da cui proveniamo provengono
richieste sincrone tipo di risposta di
protocolli quindi non è sufficiente solo a
presenta un bus per eventi se vuoi
la comunicazione in stile evento non viene inviata
un evento e poi chiedere di tornare
esattamente un evento che conosci in qualche modo
annuncia ciò che devi annunciare e
ascolta quello che gli altri devono annunciare
e quindi sintetizzare il risultato ma
non solo reinventare RPC su un messaggio
autobus sì, in realtà penso in termini di I
sono d’accordo con il punto di Jessica che
ovviamente la serializzazione di Jason è
potenzialmente molto inefficiente ma penso
che come tutti sappiamo essere prematuri
l’ottimizzazione è la radice di tutto il male
molto spesso penso che sia in realtà un
buon punto di partenza è molto
tracciabile mentre diceva che tu sai che io sono
sempre diffidente nel dire che questo non sarà
abbastanza veloce quindi rendiamolo più opaco
no vediamo vediamo cosa succede
perché potrebbe essere che opacità
è più pericoloso della latenza
un po ‘correlato a quest’area è a
cuscino qui intorno al caching, quindi puoi farlo
commentare il caching tra i microservizi
hai usato reverse proxy layer o fai
si utilizza solo la memorizzazione nella cache all’interno del servizio
con cose come Redis forse Fred ID
siamo decisamente fan del caching
probabilmente perché non abbiamo bisogno che possiamo
lavorare con coerenza finale e il
problemi che tendiamo a risolvere così il fatto
Sono un po ‘fuori moda con
tutti gli altri è una specie di bene nel
domini Tendo a lavorare ancora
e quindi probabilmente sto bene con il caching
ma è qualcosa a cui non tendo
mettere lì dentro a meno che la prestazione non dica
è necessario e fornire un valore
io sono molto pigro per quello che potrei
Decido di scrivere perché preferisco scrivere
nuove funzionalità quindi rendono il vecchio
lavora un po ‘meglio si, intendo venire
tornando al mio punto sulla prematura
ottimizzazione e opacità, se davvero
vuoi rendere più difficile un sistema
capisco appena cospargere di cospargere un po ‘
polvere magica di caching nella cache e tu farai
è molto difficile capire cosa sta succedendo
ovviamente avendo detto che il caching è
molto molto importante per fare molti
le applicazioni funzionano e, naturalmente, anche noi
avere spesso l’opzione di memorizzare nella cache
il cliente che può effettivamente essere davvero
buono perché può evitare di inviare un
messaggio o effettuare una chiamata di rete e
spesso è davvero il cliente
capisce la sua necessità di aggiornamento
informazioni così spesso il cliente
capisce la tolleranza per la stoltezza
molto più di qualcosa che il
servire i contenuti ha preso le parole
della mia bocca questo tipo di profili alcuni
delle sfide ce ne sono molte
domande a cui rispondere qui su come
per parlare di come si fa a gestire
performance che è molto da prendere come a
la domanda qui era come fai a sapere se
i micro servizi sono adatti a te, intendo
c’è qualche organizzazione?
non consiglieresti i micro servizi per
Mi sono decisamente allontanato dai clienti
detto che sono andati ai micro servizi
e generalmente sto cercando il
abilitatori in atto per avere successo io sono
alla ricerca di un’organizzazione che se
forse non hanno un clic
implementazione ma maledettamente vicino al one-click
se non sono lì, se hanno avuto
il processo di distribuzione di tre settimane è come
vai a sistemare quello che poi chiama
Spingerò anche abbastanza forte per essere sicuro
che hanno un problema che deve
essere risolto con micro servizi che loro
avere un vero problema che proprio
non vale la pena di riqualificare il
il programma sta rifocalizzando la nostra organizzazione
risorse e se non hai il supporto
per quasi dal livello CIO di primo livello
che dice sto andando fare il tipo di
transizione perché c’è sociale
implicazioni su come stiamo facendo le cose
non sei pronto per quello che conosci di nuovo
a piedi e tornare quando si è
pronto Mike
sì, sono assolutamente d’accordo con tutto ciò
si sa muoversi a questo stile richiede un
altissimo grado di fiducia nel
singoli sviluppatori e e loro
capacità
essere responsabile per le cose che
creano e solo la maggior parte delle organizzazioni
sono antitetici a quel tipo di fiducia
soprattutto quelli più grandi e quelli più vecchi
Penso che dipenda anche da o
non l’organizzazione ha un problema io
significa che esistono organizzazioni che lo sono
schierando con successo monolitico
applicazioni e sai che ne penso uno
i pericoli che possono causare qualsiasi
la tecnologia per ottenere un brutto nome è quando
le persone iniziano ad adottarlo perché loro
sentire che dovrebbero adottarlo piuttosto che
perché fornisce davvero valore
loro in particolare così sai che penso
che se un’organizzazione è perfettamente
felice con il loro stile monolitico forse
forse dovrebbero rimanere che ho il sospetto
che la maggior parte delle organizzazioni non sono altro che te
so che penso dovremmo stare molto attenti
di correre solo dopo oggetti splendenti miei
la prima reazione è che devi dire
stiamo parlando bene di come
parlano tra loro di cui abbiamo bisogno
caching oh abbiamo sicuramente bisogno di circuito
i demolitori ci sono molte decisioni e
oh e poi c’è c’è
documentazione e poi c’è il
rintracciare chi dipende da cosa e poi
c’è la tracciabilità queste sono molte
di problemi che non hai
quando qualcosa viene eseguito in un unico processo
Avete bisogno di prendere quella su e vorrei
Diciamo che probabilmente lo fai nel punto in cui
il coordinamento tra le persone con
schierando nel monolite e loro sono
entrando a vicenda, ma questo è
non è un tutto o niente che tu possa dire
questa squadra è particolarmente diversa
programma di implementazione di questa squadra e
si stanno scambiando l’un l’altro
dobbiamo tracciare una linea qui e separarci
quei pezzi abbiamo bisogno di più disaccordo
su questo pannello quindi non sarò d’ accordo
parzialmente perché penso e sto andando
per dare un’altra spina per il libro di Michael
perché il libro di Michael in realtà dà
alcuni grandi esempi di dove non puoi
ignora cose come interruttori automatici e
applicazioni monolitiche quindi potrebbe andare bene
sia quella parte della complessità che noi
parlato nei micro servizi che potrebbe
anche darsi che si conosce un po ‘di quel
la complessità ti morderà ancora se
non lo indirizzi nemmeno in a
mondo monolitico quindi non è come tutto
queste
in te ancora uno
add-on stavamo parlando poco prima del
panel su come c’è c’è molto
forte corrispondenza tra un certo
stile di sviluppo OO che per lo più
visto nel mondo di piccole chiacchiere e il modo
che i micro servizi dovrebbero funzionare
la nozione di voi conosce l’ invio di messaggi
descrivere le cose in termini di
comportamento che offrono o meno i dati
che contengono cose che sono
abbastanza grossa e abbastanza grossa
responsabile per conto proprio
attività che possono essere tutte queste caratteristiche
vero in un mondo di oo cioè un monolite e
possono essere veri in un micro-servizio
mondo quindi se stai andando giù
prima il monolite poi il percorso microservizi
assicurati di praticarti
sapere che buona progettazione sonora no
crea automaticamente una struttura a strati
dove appare ogni concetto di dominio
ogni strato tranne il suffisso con la tabella
e DTO e dominio e cosa-hai-tutti
il modo attraverso sicuramente pensa
sull’isolamento orizzontale tra
diverse parti del tuo monolite e
cercare quei limiti del sottosistema
dove puoi mettere un oggetto per facciata
funge da API interna di fronte a a
un sacco di oggetti e lo troverai
questa è una transizione molto naturale allora
microservizi in seguito quasi isomorfi
leggi il mio viaggio verso i micro servizi
effettivamente iniziato con la fatturazione in
applicazioni di oggetti monolitici e e vedere
quelli e ciò che i fenomeni che ho visto era
dopo alcuni anni la gloriosa struttura
abbiamo messo insieme si fa sapere completamente
storpiato e distrutto in parte il mio
il viaggio nei micro servizi sta cercando di
costruire una difesa che lo rende più difficile
il programmatore casuale che entra in un
il tuo monolito e lo distrugge per il
stessa cosa in un altro sistema se si va
in per andare in un micro servizio e
distruggi il micro servizio ok ho ottenuto un
Heartlines potrebbe essere giusto posso farlo
ma non stai distruggendo altri 45 micro
servizi come hai utilizzato per essere in grado di fare in
un monolite un vantaggio interessante di
i micro servizi penso che possa farlo
impedire alle persone di cercare di essere troppo intelligenti
quindi una delle cose che puoi fare se
hai un monolitico molto grande
codebase e stai scrivendo in a
lingua con un sistema di tipi avanzato
per esempio puoi fare qualcosa di incredibile
cose che puoi dire per esempio se
hai il sistema di tipo Scala che puoi
creare cose di meraviglia e il problema
è che possono effettivamente diventare piuttosto
difficile da lavorare mentre penso
una volta interrotta la funzionalità
queste cose relativamente piccole e loro
parlare per incontrarsi in relativamente
modi stupidi in cui ti viene effettivamente impedito
da innalzarti sai magnifico
edifici intellettuali che possono perseguitare
generazioni di programmatori Jessica ha fatto
vuoi che volessi aggiungere a quello di Michael
punto che sì pratica come isolato
design orientato agli oggetti e che prende
cura e, esattamente, non avere nessuno
entra e rovinalo nel nome di
rimuovere la duplicazione che è veramente giusta
codice che sembra essere lo stesso ma
fai attenzione dal lato del database perché
se il codice da questo oggetto sta raggiungendo
attraverso il database per qualcosa
questo è stato effettivamente mantenuto qui
sei fregato perché il codice è cambiato
difficile ma la migrazione dei dati è immensa
più difficile penso che lo farei anche notare
Fred nome cade su di noi prima oggi
è la persona che ha inventato
i moduli e molti programmatori non hanno mai
anche leggere i suoi documenti quindi penso molto
persone che creano cattivi non elencati forse
basta sapere che cos’è un modulo solo io
come rapidamente per riecheggiare il punto di Jessica
riguardo a non esporre il database se tu
ho la mia presentazione oggi ho detto un sacco
di cose belle della primavera, penso
stanno facendo cose davvero interessanti ma
una cosa che hanno fatto di recente
che non penso sia bello è Auto
esponendo magicamente il tuo archivio dati usando
resto penso che sia davvero orribile
l’idea ovviamente non è unica per la primavera
molte tecnologie lo hanno fatto molto
è facile farlo è davvero molto pericoloso
se vuoi farlo, vedi te stesso
scrivere qualcosa che sarà
buttare via perché la tua possibilità di
evolvendo che è praticamente nulla che abbiamo fatto
fai una domanda sul fatto che eri tu
sai devi nascondere i tuoi dati
paura che i tuoi discorsi riguardassero tutto questo
all’inizio di oggi conosco davvero molti modi in cui Ivy
ti dà la robustezza di nascondere il
Penso che quando i servizi danno i loro dati
stanno solo implorando qualcuno
altro per fare i calcoli per loro e
ora hai conosciuto 45 luoghi di cambiamento
Intendo il codice base in cui ho lavorato in India
dovevo scrivere un test unitario
Volevo assegnare un oggetto in get
sai assicurarti che non sia niente
tutto quello che stavo cercando di fare per essere sette ore
scrivi quel test perché lo ha appena tirato
in questo codice in questo codice in questo codice
in questo codice perché quei confini
Erano rotti quindi sì sono enorme a mantenere
quei confini a volte ti stringono
mi serve davvero i dati in due posti
forse per motivi di prestazioni va bene uno
il servizio è responsabile di tali dati e
potresti replicarlo da un posto a
l’altro se ne hai bisogno
motivi di prestazioni o qualcosa del genere
codice ancora sotto il tuo controllo e
se la struttura i dati devono
cambia il codice che puoi cambiare
per sistemare quello che stava parlando Fred
sulla trappola dei servizi di entità in precedenza
e in realtà speravo che lui si lamentasse
ancora di più nel suo discorso ma se non lo avesse fatto
guarda il discorso che dovrebbe guardare il video
una delle cose che penso sempre
in giro con i disegni di servizio Micro è per
qualsiasi tipo di richiesta al limite
quali sono i servizi che ottengono
attivato durante l’ elaborazione
richiede così se pensi al tuo
quadro di tracciamento che dici di sapere
la richiesta arriva qui e si accende
questo servizio e questi nodi e questi
servizi e così via puoi disegnare un
grafico di attivazione per ogni tipo di
richiesta e cosa trovo quando le persone
implementare servizi di entità è tutto
i loro grafici di attivazione finiscono con questo
strato inferiore interamente illuminato per tutto il
servizi dell’entità cosa significa questo è tutto
delle loro caratteristiche hanno una modalità comune
dipendenze da tali servizi di entità
e se c’è un problema con uno di
loro o se c’è un tempo morto o un
interruzione o un rilascio che accade tutti
le funzionalità sono danneggiate contemporaneamente e
quindi mi piace sempre disegnare questi
grafici di attivazione e sorta di intersezione
loro e ci vediamo lo so che c’è il
intersezione di tutte vuote che è
grande, perché allora si può avere un po ‘di
la tua roba giù e altre parti del tuo
l’impresa non si cura nemmeno di
intersezione di tutti i servizi di entità
allora potresti anche non farlo
ci potrebbe anche sì sì cambiando
traccia un po ‘
per quanto riguarda le interfacce utente penso che abbiamo
state parlando di servizi a cui parlare
altri servizi molto qui e su come
gli esseri umani parlano a tutti quelli
servizi sì, ho un contatore
esempio e un esempio pro che vorrei
come offrire ho parlato con una società che
aveva fatto una grande migrazione di micro servizi
erano società di servizi finanziari
lavorano in molte diverse aree geografiche
e i requisiti per creare un
il conto in ogni area geografica era un po ‘
un po ‘diverso e quindi hanno creato un
servizio account per ogni area geografica e
l’interfaccia utente doveva sapere cosa nutrire ciascuno
geografia, quindi l’ interfaccia utente è stata costruita per essere conosciuta
i requisiti di ciascun servizio in ciascuno
geografia Penso che abbastanza chiaramente questo è
un esempio di sbagliare proprio loro
attraversato questa grande migrazione loro
hanno scoperto che non potevano cambiare nulla
più veloce di prima sul rovescio della medaglia
stiamo vedendo più interesse in questi
architetture guidate dalla domanda
Falkor è 1 ohm punto dopo è un altro bene
uno
dove è in realtà il lato client
arriva a dire qualche entità hey questi sono
tutte le cose che devo sapere sul dare
li a me e questo fa una buona domanda
interfaccia e tocca alla cosa
dall’altra parte per andare a prendere il
entità da dovunque sia necessario
quel servizio un proxy di fronte a
molti o qualsiasi cosa non importa e
allora il lato cambiamento delle cose è
non solo come un put o un post in a
interfaccia riposante ma in realtà siamo
vedendo il cambiamento essere incapsulato come
un’azione e pubblicato come una transazione come
un’unità di lavoro e questo è un modello
stiamo trovando molto efficace dove
tu interroghi in base a una richiesta guidata
stile e si applica una transazione come uno
unità sì vorrei echo che io
penso che il grafico QL e Falkor siano molto
interessante interessante ora immagino una domanda
un’altra domanda è arrivata qui è
discussioni sulla scalabilità sembra
ignorare altre tecniche come il plug-in
architetture
non hanno detto OSGi, ma lo sono
conversazione dolce che ho avuto con le persone
va bene, perché abbiamo processi separati
perché non ho solo un runtime che scrivo
componenti diversi su voglio dire che lo è
un po ‘come funziona Erlang è ciò che SGI
prova a farlo uno dei fratelli, i professionisti
e contro di quegli approcci contro
micro-servizi in realtà lo penso
non dovrebbe necessariamente essere un a
mappatura uno-a-uno tra un micro
servizio e un contenitore penso che sia
una scelta di implementazione molto buona in
probabilmente la maggior parte delle situazioni ma
Penso che potenzialmente e
l’infrastruttura dovrebbe essere in grado di
fornire la scelta lì così ma
tuttavia penso che dato che il
il costo della containerizzazione è ora così basso
non necessariamente saprai scegliere
per scalare il vostro sistema interamente all’interno
processo intendo quando hai dovuto accumulare un
nuovo server che era un caso diverso così
a mio avviso, è che è interamente circa la corretta
isolamento così quando eravamo soliti distribuire
le cose nei contenitori Java l’idea era
che il server Java potrebbe funzionare correttamente
isolare le applicazioni l’ una dall’altra
mai lavorato
abbiamo sempre avuto tabelle tabelle percorso classe
i sistemi operativi dovrebbero
isolare completamente le applicazioni da
l’un l’altro sì, tranne che dipendono
su cose come la configurazione di rete e
Impostazioni TCP, quindi stiamo ancora provando
trova il modo giusto per separarli
preoccupazioni di confezionare l’applicazione
consegnare l’applicazione e isolare
loro l’ uno dall’altro adesso
l’eccitazione è contenitori e yoonah
kernel ma potrebbe non essere il finale
storia sì io come ho detto io ci credo
dovrebbe essere il potenziale per avere un
mappatura in cui non sei automaticamente
solo contenitore contenitore izing così per
esempio in ambienti particolari che
potrebbe essere in alcuni ambienti di prova voi
non ti importa molto di isolarti
mi interessa solo ridurre questo ingombro
è arrivato in nota chiave stamattina lui
parlato del codice vs e invece di
un’architettura plug-in ci sono stati
host di estensione in modo che ciascuno di quelli
gli host potrebbero essere un processo separato
potrebbe funzionare in qualsiasi lingua così tu
potresti scrivere le tue cose c-sharp dentro
c-sharp e quindi c’è il
poliglotta davvero aiutando e anche quello
isolamento
non state andando esegue un mio processo di
la memoria probabilmente ha avuto il tempo di durare
domanda
che dire dei test come la tecnologia, perché?
il test sembra comunque difficile e con
servizi di marco sembra solo di più
complicato così ogni suggerimento dal pannello
su come testare il tuo nuovo splendente micro
architettura di servizio
beh ho già accennato al nostro generativo
test per singoli servizi e lo farò
dì il motivo per cui ci stiamo muovendo
in quella direzione è perché siamo stati
parlare e promuovere e
implementando test di simulazione per
un bel po ‘di tempo e test di simulazione
un approccio end-to-end che può esercitare
tutti i tuoi servizi e per finire e
in realtà una delle cose che abbiamo trovato è
i nostri clienti si stanno allontanando
team di controllo qualità centralizzati e non c’è
in realtà nessuno responsabile per
end-to-end testing e QA e terminare qualsiasi
più interessante uno di quelli che
tipo di ci ha detto quella storia di sei
mesi fa è tornato e ha detto ben
stiamo pensando a un centro
Squadra QA per controllare l’end-to-end
comportamento quindi penso che sia un pendolo che
che continua a muoversi personalmente preferisco
esplorare un sacco di spazio degli stati tanto
il più possibile per i miei test automatici
ma poi faccio anche uno stile di contratto
testare dove se ho cose che dipendo
da un altro servizio scrivo test
che eserciti le cose di cui ho bisogno
nello specifico da non sono il
API completa solo le cose di cui ho bisogno
e se poi si rompe lo so
che hanno fatto qualcosa di sbagliato e io
può urlare contro di loro in modo così evidente
Sono su l’altra estremità dello spettro
da questo e dall’altra il pannello di
che sì gli ambienti a cui mi sono occupato
lavoriamo di nuovo che stiamo sviluppando per
utenti interni non facciamo test unitari
non facciamo test di integrazione che non facciamo
facciamo test di stadiazione in effetti noi fondamentalmente
distribuire dal notebook alla produzione cosa
abbiamo fatto è perché la nostra produzione
gli ambienti sono stati pesantemente
si sono strumentati e noi stiamo andando
vedere praticamente tutte le prestazioni chiave
gli indicatori per il nostro business sono
fondamentalmente disponibile anche a noi
schierare e vedere cosa succede al nostro reale
metriche o ottenere più accessi o
ottenere più vendite
stiamo ottenendo una conservazione della pagina più lunga
volte qualunque sia la metrica che siamo
misurando ciò e ci stiamo schierando
ambienti dal vivo e vedere cosa succede
se distribuiamo qualcosa non reagisce
molto bene lo togliamo
non ha detto che stiamo lavorando
ambienti in cui lo otteniamo velocemente
feedback dei clienti e che ha
eliminato la necessità dell’integrazione
testare Jessica quindi non credo
questo è un problema risolvente so cosa
piace fare quale è quando sto testando il mio
servizio che voglio essere in grado di provarlo
senza accedere alla vera dipendenza
qualunque cosa sia e potrebbe essere il
database così come un altro servizio così io
finisci facendo un falso che mi consente di unità
test e test generativi ed eseguire a
tutta una tonnellata di test sui miei quello che desidero
è se quell’altro servizio mi desse un
libreria client che includeva una modalità falso
e quindi tutto quello che devo fare è testare il
falso una volta-in-un-mentre
contro il vero servizio come se avessi un
falso github allora potrei semplicemente provarlo
contro falsi github per assicurarsi che sia
coerente e nel frattempo corri tutto mio
prova super veloce è quello che è quello che io
finire per creare nel piccolo comunque e
è molto lavoro che ho di più
prova il codice che il codice reale se lo sto facendo
bene, questo è uno dei motivi
Sono un fan almeno per il sincrono
caso in Java di usare cose come
Retrofit quadrato finale di Netflix perché
lo rendono davvero molto facile da testare
come stai usando quel servizio con i mock
o falsi di qualunque cosa, ma voglio dire che lo sono
sta per tornare al punto che ho
penso che sia abbastanza importante
qualcosa ha un contratto se sai se
Voglio testare qualcosa che voglio sapere
cosa dovrebbe fare e sono d’accordo
con Michael in termini di valore di
quell’approccio e penso che se ne vada su a
il disaccordo è un buon posto per terminare a
pannello quindi voglio ringraziare il nostro
membri del panel e grazie mille
per tutte le domande sono così dang a
possibilità di arrivare a tutti loro ma sono
tutto intorno a domani, quindi sentitevi liberi
ad angolo loro e li pepe per il
posto più tardi alla festa ci sarà
Sii birra quindi grazie mille
tu
un sacco di microservices interessati siamo
in una grande stanza per la grande ragione lì
molte persone stanno venendo e
abbiamo un gruppo di persone diverse
sfondi e hanno diversi
punti di vista su micro-servizi alcune persone
qui non sono d’accordo con me, questo è Fred
e questo è il motivo per cui sai che mi piace avere
questo è bello avere abbastanza conflitti
di interesse essere gentile, quindi stiamo andando
ottenere alcune domande in arrivo dal
pubblico dovresti essere in grado di andare e
fare domande sull’app, anche se abbiamo
ha avuto un paio di piccoli problemi con il
app per l’ultimo paio di sessioni ma
Ho intenzione di dare il via a qualcosa in un minuto
ma prima di andare avanti con il
domande del pubblico che ho pensato
forse ha chiesto alle persone di introdurre brevemente
loro stessi e una specie di loro
l’esposizione ai micro servizi è stata così
forse inizieremo con te, grazie Fred
Ciao, sì, il mio nome è Fred George
Ho giocato con i micro-servizi
via e via per circa dieci anni che ho fatto
un sacco di errori nel processo e così via
Sono molto molto prezioso di come li faccio
ora sono portato a Johnson, credo di averlo parzialmente
entrato nei micro servizi in primavera
non perché i micro servizi e la primavera
anche perché ovviamente micro
servizi molto più di qualsiasi specifico
linguaggio o qualsiasi quadro specifico ma
perché veramente i micro servizi sono
in realtà l’architettura che molla
sempre voluto essere come di nuovo nel
I primi giorni della primavera le OER sentivano che il
server applicativo monolitico di grandi dimensioni
non era la strada da percorrere quella strada da percorrere
con piccoli pezzi di funzionalità che
sono stati accoppiati attraverso ben definiti
contratti e conosci i micro servizi
totalmente in forma con quella visione e io sono
molto entusiasta di provare a interpretare un ruolo
in quel futuro buongiorno sono Jessica
Kerr è stato uno sviluppatore per 15 anni
e sono stato affascinato da micro
servizi da quando ho visto da quando ho sentito Fred
parla di loro per te
anni fa al nostro dev e al tempo io
era come un sacco di lingue itty-bitty
piccole cose che possiamo buttare via e
col tempo sai che non sono così entusiasta
le molte lingue o il super piccolo
dimensione o li stanno buttando via, ma io
Sono ancora molto interessato ai micro-servizi
perché rappresentano una forma di sistema
evoluzione e sono affascinato dal
evoluzione dei sistemi complessi che
sono il nostro software oggi ciao io sono Mike
Operazioni dell’architetto sviluppatore di Nygaard
e l’autore della mia particolare attenzione è su
software di costruzione che sopravvive
produzione nel mondo reale spendo il mio
lavoro di giorno facendo due cose diverse
sviluppando davvero piccoli accoppiati liberamente
parti di recinzione e consulenza a molto
grandi aziende che vorrebbero poter
si muove più veloce quindi ho questo tipo di
colpo di frusta quando vado da un concerto a
un altro concerto quindi guardo costantemente
modi di evolvere le cose più velocemente e
trattare con sistemi complessi, ma io sono
anche sempre diffidare della produzione
spese generali e oneri e prestazioni
implicazioni e implicazioni di stabilità
e così via, quindi guardo le cose con a
occhio disgustoso se riesco a mordere qui dentro
se non hai letto il libro di Michael tu
Davvero dovresti ringraziarti per il taglio
vendite per il comunque siamo ora obbligati
d’accordo con tutto quello che dice l’asta
forse solo per iniziare una domanda per me
e inizieremo a prenderlo per il
pubblico perché c’è un interessante
servizi di mercato ora che cosa è stato
diverso negli ultimi due anni perché
è la parola d’ordine è il tuo primo pensiero
di tutto abbiamo avuto un grande architettonico
enabler
attraverso il fatto che stiamo usando virtuale
macchine e ora contenitori e così è
ora facile da costruire e pacchetto molto piccolo
pezzi di codice e distribuiscilo contro di te
sapere allocare un’intera macchina per a
processo penso che sia stata la chiave
abilitante che ho visto sì, lo farò
a quello che l’altro facilitatore era in qualche modo
motivato dalla virtualizzazione che era
tutti gli strumenti per le operazioni automatizzate e
operazioni particolarmente automatizzate che
era open source quindi non dovevi
impegnare due milioni di dollari per attuare
HP openview per la tua azienda sì sì
penso che ci sia stato anche un più ampio
muoversi verso l’ utilizzo di un numero maggiore di
scatole più piccole che sono in corso per a
molto tempo ma sai che lo penso
micro servizi e contenitori davvero
rendila una cosa molto fattibile e io
pensare in realtà uno dei principali driver
sta facendo il vecchio modo sta diventando
sempre più problematico
abbiamo più tipi di clienti che conosci
c’è di questo che dobbiamo fornire affari
funzionalità più veloce anche se ci sono
sfide nell’adozione di micro-servizi che
penso che abbiamo imparato che il vecchio
il modo monolitico era come ottenere
verso la fine della strada sono d’accordo
i sistemi stanno diventando così grandi ora che noi
resta che rompere in su o macinano
completamente fermo e non possiamo cambiare
loro perché il cambiamento è troppo rischioso quindi
abbiamo dovuto trovare un modo per essere in grado di
apportare modifiche su scala ridotta a
disaccoppiare il lavoro di una squadra dal
18 altre squadre nel dipartimento così
abbiamo avuto una domanda in grazie
pubblico mi piacciono queste cose in arrivo
è un po ‘ impersonale qualcuno così Jessica
alluso alla dimensione dei microservizi
alcuni autori hanno suggerito
i micro-servizi dovrebbero essere sostituibili in
un singolo sprint c’è una dimensione giusta
per un micro servizio ora potrei iniziare
con Fred su questo perché lo so
Fred, hai una visione di questi noi
sorta di stabilirsi a Berlino alcuni dei
conferenze di micro-servizi è tipo di
tutti sono d’accordo che se è se è più di
un programmatore per sviluppare e progettare e
mantenerlo non è un micro servizio
la mia tende ad essere più piccola di un inquilino
avere 30 o 40 micro servizi per una squadra
di cinque o sei persone così generalmente loro
sono piuttosto piccoli nel mio mondo ma è così
più di un programmatore può ottenere qualcosa
la loro testa intorno a te probabilmente non è dentro
il micro mondo penso che tu abbia un intero
squadra e una squadra potrebbero essere idealmente come
meno di sei e poi ha ma
è solo per essere un servizio indipendente
e per me un micro servizio è che non lo faccio
interessa la dimensione quello che mi interessa è
rappresenta come un business
concetto e capacità e che mantiene
i suoi dati a se stesso sì tendo ad essere d’accordo
con Jessica penso che uno dei
maggiore asciutto
sono i dati e lo sai per qualsiasi cosa
la dimensione è appropriata per essere autonoma
per i dati che, ovviamente, non si vuole
avere un database di dio come ovviamente
non vuoi farti sapere un
Database Oracle RAC che sta cercando di
ridimensionare in modo massiccio e avere tutto il tuo
modello di dati aziendali ma sai se
c’è qualche dato distinto
che deve essere gestito per il tuo
attività che penso spesso indica
la dimensione appropriata del servizio in
davanti a me vedo le cose un po ‘
un po ‘ di un asse diverso che mi piace vedere
tutto il codice essendo codice usa e getta così
se qualcosa inizia a diventare abbastanza grande
che lo vedi come un bene che è
vale la pena di preservare quindi è troppo grande e
dovresti bersagliarlo per distruzione I
pensa una volta che iniziamo a vedere il codice come un
bene dove stiamo scendendo nel buio
percorso sì ho vinto penso che echeggiare le cose
che sia Fred sia Michael hanno detto uno
cosa a cui penso è se o
non potresti applicarlo di nuovo così
i micro-servizi dovrebbero essere abbastanza piccoli
che i rischi della sperimentazione sono
ragionevole
così supponiamo di voler scrivere un
micro servizio in Julia o qualche altro
linguaggio o struttura che potrebbe essere
percepito come rischioso in te lo sai
brutti vecchi tempi è come il nostro
l’architettura è per esempio quella di B su cui gira
WebSphere non puoi usare nulla di simile
non si adatta a questa architettura il micro
il mondo dei servizi è molto diverso da te
dovrebbe essere in grado di provare la sperimentazione
e sai cosa succede se non funziona
si dovrebbe essere in grado di reimplementato
micro servizio senza che tu sappia un enorme
quantità di tempo coinvolta sorta di
passando da quello intendo Jessica
Ho parlato prima di questa idea che tu
sentito parlare di micro servizi come grandi noi
può sperimentare con tutti questi diversi
lingue e questo è cambiato nel tempo
quindi cosa sai cosa pensi
sui poliglotti in questo mondo e forse
solo per divertimento, possiamo iniziare con Mike
per divertimento perché lavoro per l’azienda
quella chiusura posteriore sì, ho pensato che sarebbe
Sii divertente, intendo così così tu compri
in tutta l’idea che dovremmo essere
poliglotti con le nostre architetture di Marko
quindi sicuramente considero Polly come un
beneficiano dei micro servizi
ti permettono di essere poliglotta io non tengo
come obiettivo essere poliglotta ma permettendo
diversità negli stack tecnologici e e
ridurre il costo di cambiare una decisione
in ciascuno di questi punti di implementazione
è davvero prezioso sono stato in un sacco di
aziende in cui ti darò una buona
esempio concreto stavo lavorando con a
società che aveva il proprio
implementazione di JDO che risaliva
da come il primo punto-com crash il
Java che non vuoi sapere davvero ma
questa cosa era stata una buona idea a
un punto nel tempo e ora era il
fondamento per la loro intera attività
loro avevano migliaia di oggetti
mappato attraverso questa cosa era loro
la propria implementazione da cui era divergita
la versione beta dello standard che conosci
c’erano molti modi in cui volevano
per scendere da esso, ma non poteva perché
assolutamente tutto lo ha usato così il
idea di abilitare i linguaggi poliglotta
e framework e stack tecnologici sono grandiosi
perché allora puoi fare cambiamenti a tratti
e permettere alle persone di sperimentare con il
testo diverso as e dire sì questo è un
bravo dovremmo parlarne tra
noi stessi e forse lo diffondiamo ulteriormente
ma non significa che tutti quindi costruiscono
in ciò significa che lo sai ancora
avere la capacità di cambiare punto saggio
Fred, so che hai avuto un sacco di cose da fare
su si lo sento solo poliglotta e
aspetto di ambiente come creare
che è solo un aspetto dell’innovazione
che vuoi trasformare i tuoi programmatori
sciolto senza vincoli e così via
meno regole devi mettere in atto il
meglio di te nella maggior parte dei casi loro
tendiamo a sapere scegliere un paio di
lingue diverse per lavorare in forse due
al massimo
così si sistemano su di esso, ma non avendo
dover dire loro quale usare
dà loro una certa capacità di innovare
quello spazio e molte altre cose come
questa è la chiave dell’innovazione è solo ottenere
sbarazzarsi delle regole girare con loro
i problemi penso a quello che Michael ha detto
sul disaccoppiamento che è necessariamente
succede quando sostenete poliglotti è
davvero importante e quindi mi piace non usare
tutti lo stesso linguaggio proprio perché
ti costringe a non maglie in questo gigante
quadro che è
dipende da questo, tuttavia, io non sono
davvero impressionato con il dovrebbe usare
lo strumento giusto per il lavoro, ma penso
abbiamo sottolineato che dovresti
come scegliere la lingua perfettamente
si adatta al problema che può davvero diventare
passaggio doloroso da una lingua a
un altro
avendo proibito di avere 40 o 50 micro
servizi sulla tua squadra e stai andando
dalla lingua alla lingua tutto il giorno che faccio
che al lavoro lavoro in troppi
lingue già ed è doloroso così
quando scegli lo strumento giusto per
il lavoro che lavoro non è solo il
problema aziendale che stai risolvendo è il
l’ecosistema in cui lavori è il
strumenti di distribuzione che hai
sono le lingue che tu e il tuo
la squadra con cui hai familiarità fa parte
il sistema
questo è il problema che stai risolvendo così
quello che vi capita di sapere già che
questioni penso che anche si riduce a
quali sono il funzionamento e il contratto
requisiti dei singoli servizi
quindi per esempio non lo farei
sostenere scrivere tutti i servizi in Java o
o chiusura o Python o qualsiasi altro singolo
linguaggio standard Credo che questo sia un
errore e penso che faccia schiacciare
innovazione come Fred ha menzionato tuttavia
Penso che sia ragionevole imporre
determinati standard che potrebbero essere concordati
dall’organizzazione generale come te
sai cosa se stai per esporre a
Interfaccia riposante forse è necessario
fornire una descrizione spavalda di quello o
conosci il noleggio o qualunque sia il tuo
la lingua franca preferita è penso
è abbastanza ragionevole dire che puoi
scrivilo nella lingua che preferisci
ma deve comportarsi in determinati modi
forse ha bisogno di fornire una certa salute
controllare gli endpoint per abilitarlo
gestito non penso che tu possa averlo a
scatola completamente nera dove conosci dio
aiutarti a quello che stai per ottenere quando
lo invochi perché non c’è modo
posso sapere sì, se è un’app di 12 fattori
non importa cosa sia dentro
perché si può operare e monitorare
allo stesso modo che volevo rappresentare
un altro punto di vista che quel Fred e
Ho avuto modo di ascoltare Chad Fowler
lista delle meraviglie dove ha parlato dell’essere
in lui ha parlato di far rispettare il poliglotta
attraverso la sua squadra in modo specifico loro
non creerebbe librerie riutilizzabili
voleva assicurarsi che nessuno lo fosse
condividere il codice e renderlo riutilizzabile
librerie che sarebbero un punto di
accoppiamento tra i diversi servizi
ora questa è una prospettiva piuttosto radicale
Non lo difenderei necessariamente
in tutto il mondo ma è un punto di vista che
questo è successo per loro
Penso anche che non ci sia
intendo dire ” taglia unica”
le architetture dei micro-servizi sono
intrinsecamente legato alle organizzazioni
che li sviluppa e tu conosci diversi
le organizzazioni hanno culture diverse
non tutte le organizzazioni vogliono avere il
stessa cultura quindi sai che penso sia
opportuno considerare che e io an
l’organizzazione potrebbe scendere a
continuo si sa tra punto a e
punto B in modo diverso ma abbastanza valido
posto per altre organizzazioni sorta di
correlate a quella estrema Fowler chad
esempio chad non ama essere estremo
la preoccupazione è guidata dall’accoppiamento
sai che quelle librerie sono
accoppiando come gestisci l’accoppiamento e
anche punto in realtà come gestisci
evoluzione dei contratti come si evita
rompere altri servizi e e cosa
quali tecniche hai visto lavorare o di
Naturalmente ho sostenuto tecniche associate
con bus eventi e asincroni
servizi e il livello di accoppiamento è
fondamentalmente ai livelli di messageformat
ma pratichiamo molto permissivi
strutture in quella struttura abbiamo imparato
le nostre lezioni con XML quindi non è così
stato veramente un problema relativo a
Infatti abbiamo avuto oltre 300 micro servizi e
zero documentazione del nostro messaggio
i formati non ne avevano bisogno, ero un po ‘
sorpreso da quello, ma questo è quello
in realtà come si è scoperto
se ottieni l’accoppiamento tra i servizi
livello c’è c’è c’è un
spettro qui c’è un trade-off in uno
estremo hai la retrocompatibilità
come la stripe API esterna è completamente
compatibile all’indietro non solo una lettura
compatibile all’indietro ma qualunque cosa
versione dell’API che si riceve quando si
per prima cosa lo chiamerai magicamente
per sempre così lunghezze estreme
la retrocompatibilità è tecnica
soluzione ad un problema dall’altra parte
hai quello che facciamo di più internamente
che è la coordinazione che sei tu
in realtà lavorando con una squadra per dire okay
lo cambieremo per
compatibile all’indietro e poi lo sei
farò il rilascio e poi lo saremo
lascerò cadere quello vecchio e questo è meno
codice e più persone interagiscono così io
credo che tu abbia un hai un
il commercio là fuori penso che questo sia un
area importante dove c’è
molto più lavoro da fare
perché penso che essenzialmente tu
molto spesso ottenere servizi che sono accoppiati
da qualcosa o è un messaggio
formato o in realtà un contratto e lo faccio
pensa che le persone debbano essere molto
attento a ciò penso che li penso
dovrebbe essere esplicito e questo è il motivo per cui io davvero
come ogni forma di te sa forte
documentazione se è spavalderia o
qualunque essa sia o messaggio che formatta
lo so che sarà diverso ma penso
è piuttosto importante essere
esplicitamente penso che possa aiutare gli sviluppatori
può aiutare a testarlo può aiutare
automazione e può anche aiutarti a individuare
cose che potrebbero rompersi prima di loro
in realtà si rompono yeah I’m I’m with rod on
questo e non solo perché ha spennato
il mio libro prima ma ma veramente con lui
su di esso abbiamo effettivamente sviluppato
alcuni strumenti che prenderebbero una spavalderia
specifica e applicare un derivato di
le nostre tecniche di test di simulazione così noi
può esercitare un’interfaccia e dire guardare
il tuo protocollo afferma che tu permetti
questi input ti abbiamo dato un’attività
sequenza che includeva questi input e
guarda come hai vomitato su tutto il nostro
scarpe usando quel tipo di tecnica
e test generativi otteniamo molto di più
bang per il nostro dollaro di quanto vorremmo con qualsiasi
tipo di unità o test di integrazione e
quindi anche avendo questa specifica
possiamo applicare strumenti meccanici per dire
la tua nuova versione sta espandendo solo la
contratto quindi è indietro
compatibile o possiamo dire mmm sei ora
richiedendo qualcosa che non hai richiesto
prima è una contrazione nella tua
contratto non consentito è una rottura
cambiare e, facendo ciò che possiamo
applicare le regole localmente ai livelli di
servizi individuali che li rendono
cittadini migliori nell’ecosistema yeah
Sono assolutamente d’accordo perché penso che il
la realtà è che la complessità non va mai
lontano
siamo praticamente senza speranza
l’industria sta combattendo una speranza
spero non importa cosa facciamo meglio di
abbiamo fatto l’anno scorso o le persone di ieri
venire con nuovi requisiti che
rendere la vita più difficile, che vogliono roba
è più complesso che vogliono roba
più veloce quindi lottiamo sempre contro l’entropia
e la realtà è se ti sbarazzi del
monolite a cui si muove l’entropia
il tipo di join e contratti o mancanza
tra i tuoi micro-servizi e
è davvero molto probabile nel mio
esperienza di morderti a meno che tu non sia
in realtà molto consapevole di ciò che darò
per il giro di vite politico su questo libro quindi no
lui non è d’accordo oh sì non sono d’accordo
con questi ragazzi è un’assurdità, ma è così
laurea i miei ambienti sono stati
diverso che abbiamo sviluppato
applicazioni per il consumo interno
all’interno delle mie società quindi non ci stiamo provando
per pubblicare le API che non stiamo cercando di
stipulare contratti con il mondo esterno
non abbiamo utenti esterni in più
cercando di utilizzare il nostro sistema abbiamo avuto modo di
capire chi dare la colpa a quelli che non lo sono
problemi che ho dovuto affrontare con tutto quello che faccio è
costruire sistemi per un client interno a
renderli felici con cui erano seduti
io ho quei dialoghi lì io
non ha bisogno di scrivere la documentazione
quindi vorrei io non abbonarsi a
sempre hai sempre bisogno di un documento
perché lo rende migliore o tuo
sponsor complicati che non voglio
passa il tempo a farlo quando non lo è
necessario ho più cose a che fare con
i miei soldi e quindi voglio andare più veloce e
questo mi rallenterà il percorso di allenamento a
un po ‘ qualcuno ha fatto una domanda su come
gestisci la porta principale quando hai
ho detto cento microservizi cosa fare
si fa in termini di avere una facciata a
il mondo esterno è questo dove vorresti
utilizzare un gateway API o quali esperienze
di voi ragazzi avete avuto la soluzione di questo genere
di problemi alla fine vengono tutti
fino a qualcosa che assomiglia a a
il router di gateway gateway taglia la valvola a farfalla così
che conosci la scoperta e
la posizione e la denominazione sono molto
aspetto importante ma c’è anche il
aspetto operativo di dire ad alcuni
puntare i tuoi clienti stanno andando
berserk e cercare di uccidere il sistema in
Infatti a volte ancora di farlo per
voi stessi avevo un cliente che era
funziona con un tipo di intelligenza del canale
del vestito e ha detto loro di iniziare
indicizzazione di ogni documento in cui erano presenti
da che punto si fanno da soli
il loro canale
partner e se non hai qualche mezzo
di strozzare che sei morto
quindi c’è sempre una sorta di a
confine oh e metti un limite sul tuo
anche perché a volte il tuo
malfunzionamento dei fornitori: ne hai
tecnologia o qualsiasi consiglio di cose in
quello spazio una cosa che ho sentito nel
domanda e questo è un po ‘ al di fuori di
la tecnologia perché sì intendo a
un certo punto hai bilanciamento del carico
sta colpendo determinati servizi ma se tu
ho un centinaio di servizi micro spero
quelli non stanno tutti parlando all’esterno
mondo perché ad un certo punto sei ancora
bisogno di un livello di organizzazione sopra il
processo quindi si spera che questi micro
i servizi stanno funzionando in poco
ecosistemi che essi stessi espongono
certe API che sono più destinate a
chiama dal mondo esterno o
forse da altre parti del
organizzazione e questo e alcuni di questi
cento micro servizi sono solo pochi
gli aggregatori che sono come va bene c’è
questi tre servizi interni che sto per fare
mettere questa roba insieme e dare a
in un formato leggibile all’esterno
questa squadra sono d’accordo con il punto di Jessica
lì penso che ci siano cose che noi
imparato nel vecchio mondo della scrittura molto
grandi applicazioni monolitiche che può
essere ancora prezioso è come se tu lo fossi
ha un numero di sottosistemi in un grande
applicazione monolitica che si desidera limitare
l’ accoppiamento tra loro giusto che tu voglia
ciascun sottosistema per fornire una superficie
questo è gestibile da altri sottosistemi
e vedo che è praticamente la stessa cosa
problema come descritto da Jessica tranne che
ovviamente è con il diverso set di
tecnologie penso onestamente se lo lasci
i tuoi clienti esterni a tutti i tuoi
centinaia di micro servizi e poi tu
potresti anche rinunciare perché male
le cose succederanno che accadrà si
Penso che la situazione sia di tipo
analogo a se stai costruendo un grande
sistema monolitico e eccesso di
tutti per ogni classe che hai con
ogni metodo pubblico disponibile non c’è
solo alcune di quelle uscite verso l’esterno
mondo
alcune porte nel sistema
il sistema si accende e sputa il
risponde di nuovo e io faccio la stessa cosa
quando costruisco sistemi di micro server ordinano
di sorta di relativo a questo in un modo
come dovrebbero le fonti micro parlare a ciascuno
altro
dovrebbero dovrebbero solo usare sempre
dovrebbero essere i bus di messaggi asincroni
basta parlare tramite il protocollo HTTP 50 che cos’è
la risposta giusta
Penso che non ci sia una risposta giusta
questo penso che dipenda da molto
il problema ma penso che ci sia
una sorta di decisione architettonica per essere
fatto abbastanza presto hai intenzione di andare
tipo di un sincrono riposante come
processo di registrazione o stai andando a
prova a conoscere il disaccoppiamento ancora di più
e penso che tu sia il tipo di problema
cercando di risolvere i driver che rispondono
Penso che i sistemi tipici finiranno
avendo alcuni casi di entrambi ma tu lo sai
significa ovviamente accatastamento sincrono
chiama che non ha intenzione di lavorare quindi lo sai
Io non penso che tu possa costruire
un sistema di qualsiasi complessità puramente
attraverso funzionamento sincrono è possibile
costruire un sistema di qualsiasi complessità usando a
invocazione sincrona ma in alcuni casi
probabilmente finirà per essere di più
complesso di qualcosa che coinvolge
un po ‘di uso sincrono voglio dire, penso
idealmente dovremmo guardare alle tecnologie
che in realtà rendono relativamente facile
fai quella scelta così per esempio se fossi
implementando un micro servizio lo farei
voglio attuare tanto del
funzionalità possibile in modo che potrebbe essere
dietro diversi stili di invocazione quindi
per esempio non vorrei che tu lo sapessi
dì se stai scrivendo in qualsiasi tecnologia
che ha qualche tipo di controller web
controller restful intendo ovviamente te
non voglio infornare la tua logica aziendale
in là perché che sta per essere un
problema se mai ti rendi conto che forse
un approccio di messaggistica era meglio lo farò
Diciamo che forse non stai facendo
tutto su HTTP e JSON che è
come la prima cosa ed è la
cosa più semplice e parte della ragione è
perché è un po ‘come un essere umano
comprensibile e uno dei problemi
con i micro servizi è la tracciabilità
è come fai a sapere cosa è andato dove e
come segui i bit e se lo hai
ho ottenuto la stampa JSON sui log come
lo facciamo ad ogni richiesta, allora è così
aiuta con il debug e aiuta con
la comprensione umana non aiuta
con velocità così al punto in cui
diventa troppo lento sai che puoi farlo
che r0m coda o qualcosa più veloce I
non non una persona di protocollo ma poi
considera come implementerai
tracciabilità e come hai intenzione di
in particolare, rendere più leggibile questo sistema
come cresce e diventa più complicato così
come dovrebbero parlare i micro servizi a ciascuno di essi
altro perché attraverso gli interruttori di circuito di
Certo che c’è una resilienza
la conversazione da fare qui non è lì
mic voglio dire alcuni dei protocolli
noi selezioniamo non sempre prestiamo
sì, sto facendo una piccola lingua sulla guancia
ovviamente ma nei miei workshop e in
le mie sessioni lo sottolineo sicuramente
conosci la maggior parte delle operazioni
i problemi da cui proveniamo provengono
richieste sincrone tipo di risposta di
protocolli quindi non è sufficiente solo a
presenta un bus per eventi se vuoi
la comunicazione in stile evento non viene inviata
un evento e poi chiedere di tornare
esattamente un evento che conosci in qualche modo
annuncia ciò che devi annunciare e
ascolta quello che gli altri devono annunciare
e quindi sintetizzare il risultato ma
non solo reinventare RPC su un messaggio
autobus sì, in realtà penso in termini di I
sono d’accordo con il punto di Jessica che
ovviamente la serializzazione di Jason è
potenzialmente molto inefficiente ma penso
che come tutti sappiamo essere prematuri
l’ottimizzazione è la radice di tutto il male
molto spesso penso che sia in realtà un
buon punto di partenza è molto
tracciabile mentre diceva che tu sai che io sono
sempre diffidente nel dire che questo non sarà
abbastanza veloce quindi rendiamolo più opaco
no vediamo vediamo cosa succede
perché potrebbe essere che opacità
è più pericoloso della latenza
un po ‘correlato a quest’area è a
cuscino qui intorno al caching, quindi puoi farlo
commentare il caching tra i microservizi
hai usato reverse proxy layer o fai
si utilizza solo la memorizzazione nella cache all’interno del servizio
con cose come Redis forse Fred ID
siamo decisamente fan del caching
probabilmente perché non abbiamo bisogno che possiamo
lavorare con coerenza finale e il
problemi che tendiamo a risolvere così il fatto
Sono un po ‘fuori moda con
tutti gli altri è una specie di bene nel
domini Tendo a lavorare ancora
e quindi probabilmente sto bene con il caching
ma è qualcosa a cui non tendo
mettere lì dentro a meno che la prestazione non dica
è necessario e fornire un valore
io sono molto pigro per quello che potrei
Decido di scrivere perché preferisco scrivere
nuove funzionalità quindi rendono il vecchio
lavora un po ‘meglio si, intendo venire
tornando al mio punto sulla prematura
ottimizzazione e opacità, se davvero
vuoi rendere più difficile un sistema
capisco appena cospargere di cospargere un po ‘
polvere magica di caching nella cache e tu farai
è molto difficile capire cosa sta succedendo
ovviamente avendo detto che il caching è
molto molto importante per fare molti
le applicazioni funzionano e, naturalmente, anche noi
avere spesso l’opzione di memorizzare nella cache
il cliente che può effettivamente essere davvero
buono perché può evitare di inviare un
messaggio o effettuare una chiamata di rete e
spesso è davvero il cliente
capisce la sua necessità di aggiornamento
informazioni così spesso il cliente
capisce la tolleranza per la stoltezza
molto più di qualcosa che il
servire i contenuti ha preso le parole
della mia bocca questo tipo di profili alcuni
delle sfide ce ne sono molte
domande a cui rispondere qui su come
per parlare di come si fa a gestire
performance che è molto da prendere come a
la domanda qui era come fai a sapere se
i micro servizi sono adatti a te, intendo
c’è qualche organizzazione?
non consiglieresti i micro servizi per
Mi sono decisamente allontanato dai clienti
detto che sono andati ai micro servizi
e generalmente sto cercando il
abilitatori in atto per avere successo io sono
alla ricerca di un’organizzazione che se
forse non hanno un clic
implementazione ma maledettamente vicino al one-click
se non sono lì, se hanno avuto
il processo di distribuzione di tre settimane è come
vai a sistemare quello che poi chiama
Spingerò anche abbastanza forte per essere sicuro
che hanno un problema che deve
essere risolto con micro servizi che loro
avere un vero problema che proprio
non vale la pena di riqualificare il
il programma sta rifocalizzando la nostra organizzazione
risorse e se non hai il supporto
per quasi dal livello CIO di primo livello
che dice sto andando fare il tipo di
transizione perché c’è sociale
implicazioni su come stiamo facendo le cose
non sei pronto per quello che conosci di nuovo
a piedi e tornare quando si è
pronto Mike
sì, sono assolutamente d’accordo con tutto ciò
si sa muoversi a questo stile richiede un
altissimo grado di fiducia nel
singoli sviluppatori e e loro
capacità
essere responsabile per le cose che
creano e solo la maggior parte delle organizzazioni
sono antitetici a quel tipo di fiducia
soprattutto quelli più grandi e quelli più vecchi
Penso che dipenda anche da o
non l’organizzazione ha un problema io
significa che esistono organizzazioni che lo sono
schierando con successo monolitico
applicazioni e sai che ne penso uno
i pericoli che possono causare qualsiasi
la tecnologia per ottenere un brutto nome è quando
le persone iniziano ad adottarlo perché loro
sentire che dovrebbero adottarlo piuttosto che
perché fornisce davvero valore
loro in particolare così sai che penso
che se un’organizzazione è perfettamente
felice con il loro stile monolitico forse
forse dovrebbero rimanere che ho il sospetto
che la maggior parte delle organizzazioni non sono altro che te
so che penso dovremmo stare molto attenti
di correre solo dopo oggetti splendenti miei
la prima reazione è che devi dire
stiamo parlando bene di come
parlano tra loro di cui abbiamo bisogno
caching oh abbiamo sicuramente bisogno di circuito
i demolitori ci sono molte decisioni e
oh e poi c’è c’è
documentazione e poi c’è il
rintracciare chi dipende da cosa e poi
c’è la tracciabilità queste sono molte
di problemi che non hai
quando qualcosa viene eseguito in un unico processo
Avete bisogno di prendere quella su e vorrei
Diciamo che probabilmente lo fai nel punto in cui
il coordinamento tra le persone con
schierando nel monolite e loro sono
entrando a vicenda, ma questo è
non è un tutto o niente che tu possa dire
questa squadra è particolarmente diversa
programma di implementazione di questa squadra e
si stanno scambiando l’un l’altro
dobbiamo tracciare una linea qui e separarci
quei pezzi abbiamo bisogno di più disaccordo
su questo pannello quindi non sarò d’ accordo
parzialmente perché penso e sto andando
per dare un’altra spina per il libro di Michael
perché il libro di Michael in realtà dà
alcuni grandi esempi di dove non puoi
ignora cose come interruttori automatici e
applicazioni monolitiche quindi potrebbe andare bene
sia quella parte della complessità che noi
parlato nei micro servizi che potrebbe
anche darsi che si conosce un po ‘di quel
la complessità ti morderà ancora se
non lo indirizzi nemmeno in a
mondo monolitico quindi non è come tutto
queste
in te ancora uno
add-on stavamo parlando poco prima del
panel su come c’è c’è molto
forte corrispondenza tra un certo
stile di sviluppo OO che per lo più
visto nel mondo di piccole chiacchiere e il modo
che i micro servizi dovrebbero funzionare
la nozione di voi conosce l’ invio di messaggi
descrivere le cose in termini di
comportamento che offrono o meno i dati
che contengono cose che sono
abbastanza grossa e abbastanza grossa
responsabile per conto proprio
attività che possono essere tutte queste caratteristiche
vero in un mondo di oo cioè un monolite e
possono essere veri in un micro-servizio
mondo quindi se stai andando giù
prima il monolite poi il percorso microservizi
assicurati di praticarti
sapere che buona progettazione sonora no
crea automaticamente una struttura a strati
dove appare ogni concetto di dominio
ogni strato tranne il suffisso con la tabella
e DTO e dominio e cosa-hai-tutti
il modo attraverso sicuramente pensa
sull’isolamento orizzontale tra
diverse parti del tuo monolite e
cercare quei limiti del sottosistema
dove puoi mettere un oggetto per facciata
funge da API interna di fronte a a
un sacco di oggetti e lo troverai
questa è una transizione molto naturale allora
microservizi in seguito quasi isomorfi
leggi il mio viaggio verso i micro servizi
effettivamente iniziato con la fatturazione in
applicazioni di oggetti monolitici e e vedere
quelli e ciò che i fenomeni che ho visto era
dopo alcuni anni la gloriosa struttura
abbiamo messo insieme si fa sapere completamente
storpiato e distrutto in parte il mio
il viaggio nei micro servizi sta cercando di
costruire una difesa che lo rende più difficile
il programmatore casuale che entra in un
il tuo monolito e lo distrugge per il
stessa cosa in un altro sistema se si va
in per andare in un micro servizio e
distruggi il micro servizio ok ho ottenuto un
Heartlines potrebbe essere giusto posso farlo
ma non stai distruggendo altri 45 micro
servizi come hai utilizzato per essere in grado di fare in
un monolite un vantaggio interessante di
i micro servizi penso che possa farlo
impedire alle persone di cercare di essere troppo intelligenti
quindi una delle cose che puoi fare se
hai un monolitico molto grande
codebase e stai scrivendo in a
lingua con un sistema di tipi avanzato
per esempio puoi fare qualcosa di incredibile
cose che puoi dire per esempio se
hai il sistema di tipo Scala che puoi
creare cose di meraviglia e il problema
è che possono effettivamente diventare piuttosto
difficile da lavorare mentre penso
una volta interrotta la funzionalità
queste cose relativamente piccole e loro
parlare per incontrarsi in relativamente
modi stupidi in cui ti viene effettivamente impedito
da innalzarti sai magnifico
edifici intellettuali che possono perseguitare
generazioni di programmatori Jessica ha fatto
vuoi che volessi aggiungere a quello di Michael
punto che sì pratica come isolato
design orientato agli oggetti e che prende
cura e, esattamente, non avere nessuno
entra e rovinalo nel nome di
rimuovere la duplicazione che è veramente giusta
codice che sembra essere lo stesso ma
fai attenzione dal lato del database perché
se il codice da questo oggetto sta raggiungendo
attraverso il database per qualcosa
questo è stato effettivamente mantenuto qui
sei fregato perché il codice è cambiato
difficile ma la migrazione dei dati è immensa
più difficile penso che lo farei anche notare
Fred nome cade su di noi prima oggi
è la persona che ha inventato
i moduli e molti programmatori non hanno mai
anche leggere i suoi documenti quindi penso molto
persone che creano cattivi non elencati forse
basta sapere che cos’è un modulo solo io
come rapidamente per riecheggiare il punto di Jessica
riguardo a non esporre il database se tu
ho la mia presentazione oggi ho detto un sacco
di cose belle della primavera, penso
stanno facendo cose davvero interessanti ma
una cosa che hanno fatto di recente
che non penso sia bello è Auto
esponendo magicamente il tuo archivio dati usando
resto penso che sia davvero orribile
l’idea ovviamente non è unica per la primavera
molte tecnologie lo hanno fatto molto
è facile farlo è davvero molto pericoloso
se vuoi farlo, vedi te stesso
scrivere qualcosa che sarà
buttare via perché la tua possibilità di
evolvendo che è praticamente nulla che abbiamo fatto
fai una domanda sul fatto che eri tu
sai devi nascondere i tuoi dati
paura che i tuoi discorsi riguardassero tutto questo
all’inizio di oggi conosco davvero molti modi in cui Ivy
ti dà la robustezza di nascondere il
Penso che quando i servizi danno i loro dati
stanno solo implorando qualcuno
altro per fare i calcoli per loro e
ora hai conosciuto 45 luoghi di cambiamento
Intendo il codice base in cui ho lavorato in India
dovevo scrivere un test unitario
Volevo assegnare un oggetto in get
sai assicurarti che non sia niente
tutto quello che stavo cercando di fare per essere sette ore
scrivi quel test perché lo ha appena tirato
in questo codice in questo codice in questo codice
in questo codice perché quei confini
Erano rotti quindi sì sono enorme a mantenere
quei confini a volte ti stringono
mi serve davvero i dati in due posti
forse per motivi di prestazioni va bene uno
il servizio è responsabile di tali dati e
potresti replicarlo da un posto a
l’altro se ne hai bisogno
motivi di prestazioni o qualcosa del genere
codice ancora sotto il tuo controllo e
se la struttura i dati devono
cambia il codice che puoi cambiare
per sistemare quello che stava parlando Fred
sulla trappola dei servizi di entità in precedenza
e in realtà speravo che lui si lamentasse
ancora di più nel suo discorso ma se non lo avesse fatto
guarda il discorso che dovrebbe guardare il video
una delle cose che penso sempre
in giro con i disegni di servizio Micro è per
qualsiasi tipo di richiesta al limite
quali sono i servizi che ottengono
attivato durante l’ elaborazione
richiede così se pensi al tuo
quadro di tracciamento che dici di sapere
la richiesta arriva qui e si accende
questo servizio e questi nodi e questi
servizi e così via puoi disegnare un
grafico di attivazione per ogni tipo di
richiesta e cosa trovo quando le persone
implementare servizi di entità è tutto
i loro grafici di attivazione finiscono con questo
strato inferiore interamente illuminato per tutto il
servizi dell’entità cosa significa questo è tutto
delle loro caratteristiche hanno una modalità comune
dipendenze da tali servizi di entità
e se c’è un problema con uno di
loro o se c’è un tempo morto o un
interruzione o un rilascio che accade tutti
le funzionalità sono danneggiate contemporaneamente e
quindi mi piace sempre disegnare questi
grafici di attivazione e sorta di intersezione
loro e ci vediamo lo so che c’è il
intersezione di tutte vuote che è
grande, perché allora si può avere un po ‘di
la tua roba giù e altre parti del tuo
l’impresa non si cura nemmeno di
intersezione di tutti i servizi di entità
allora potresti anche non farlo
ci potrebbe anche sì sì cambiando
traccia un po ‘
per quanto riguarda le interfacce utente penso che abbiamo
state parlando di servizi a cui parlare
altri servizi molto qui e su come
gli esseri umani parlano a tutti quelli
servizi sì, ho un contatore
esempio e un esempio pro che vorrei
come offrire ho parlato con una società che
aveva fatto una grande migrazione di micro servizi
erano società di servizi finanziari
lavorano in molte diverse aree geografiche
e i requisiti per creare un
il conto in ogni area geografica era un po ‘
un po ‘diverso e quindi hanno creato un
servizio account per ogni area geografica e
l’interfaccia utente doveva sapere cosa nutrire ciascuno
geografia, quindi l’ interfaccia utente è stata costruita per essere conosciuta
i requisiti di ciascun servizio in ciascuno
geografia Penso che abbastanza chiaramente questo è
un esempio di sbagliare proprio loro
attraversato questa grande migrazione loro
hanno scoperto che non potevano cambiare nulla
più veloce di prima sul rovescio della medaglia
stiamo vedendo più interesse in questi
architetture guidate dalla domanda
Falkor è 1 ohm punto dopo è un altro bene
uno
dove è in realtà il lato client
arriva a dire qualche entità hey questi sono
tutte le cose che devo sapere sul dare
li a me e questo fa una buona domanda
interfaccia e tocca alla cosa
dall’altra parte per andare a prendere il
entità da dovunque sia necessario
quel servizio un proxy di fronte a
molti o qualsiasi cosa non importa e
allora il lato cambiamento delle cose è
non solo come un put o un post in a
interfaccia riposante ma in realtà siamo
vedendo il cambiamento essere incapsulato come
un’azione e pubblicato come una transazione come
un’unità di lavoro e questo è un modello
stiamo trovando molto efficace dove
tu interroghi in base a una richiesta guidata
stile e si applica una transazione come uno
unità sì vorrei echo che io
penso che il grafico QL e Falkor siano molto
interessante interessante ora immagino una domanda
un’altra domanda è arrivata qui è
discussioni sulla scalabilità sembra
ignorare altre tecniche come il plug-in
architetture
non hanno detto OSGi, ma lo sono
conversazione dolce che ho avuto con le persone
va bene, perché abbiamo processi separati
perché non ho solo un runtime che scrivo
componenti diversi su voglio dire che lo è
un po ‘come funziona Erlang è ciò che SGI
prova a farlo uno dei fratelli, i professionisti
e contro di quegli approcci contro
micro-servizi in realtà lo penso
non dovrebbe necessariamente essere un a
mappatura uno-a-uno tra un micro
servizio e un contenitore penso che sia
una scelta di implementazione molto buona in
probabilmente la maggior parte delle situazioni ma
Penso che potenzialmente e
l’infrastruttura dovrebbe essere in grado di
fornire la scelta lì così ma
tuttavia penso che dato che il
il costo della containerizzazione è ora così basso
non necessariamente saprai scegliere
per scalare il vostro sistema interamente all’interno
processo intendo quando hai dovuto accumulare un
nuovo server che era un caso diverso così
a mio avviso, è che è interamente circa la corretta
isolamento così quando eravamo soliti distribuire
le cose nei contenitori Java l’idea era
che il server Java potrebbe funzionare correttamente
isolare le applicazioni l’ una dall’altra
mai lavorato
abbiamo sempre avuto tabelle tabelle percorso classe
i sistemi operativi dovrebbero
isolare completamente le applicazioni da
l’un l’altro sì, tranne che dipendono
su cose come la configurazione di rete e
Impostazioni TCP, quindi stiamo ancora provando
trova il modo giusto per separarli
preoccupazioni di confezionare l’applicazione
consegnare l’applicazione e isolare
loro l’ uno dall’altro adesso
l’eccitazione è contenitori e yoonah
kernel ma potrebbe non essere il finale
storia sì io come ho detto io ci credo
dovrebbe essere il potenziale per avere un
mappatura in cui non sei automaticamente
solo contenitore contenitore izing così per
esempio in ambienti particolari che
potrebbe essere in alcuni ambienti di prova voi
non ti importa molto di isolarti
mi interessa solo ridurre questo ingombro
è arrivato in nota chiave stamattina lui
parlato del codice vs e invece di
un’architettura plug-in ci sono stati
host di estensione in modo che ciascuno di quelli
gli host potrebbero essere un processo separato
potrebbe funzionare in qualsiasi lingua così tu
potresti scrivere le tue cose c-sharp dentro
c-sharp e quindi c’è il
poliglotta davvero aiutando e anche quello
isolamento
non state andando esegue un mio processo di
la memoria probabilmente ha avuto il tempo di durare
domanda
che dire dei test come la tecnologia, perché?
il test sembra comunque difficile e con
servizi di marco sembra solo di più
complicato così ogni suggerimento dal pannello
su come testare il tuo nuovo splendente micro
architettura di servizio
beh ho già accennato al nostro generativo
test per singoli servizi e lo farò
dì il motivo per cui ci stiamo muovendo
in quella direzione è perché siamo stati
parlare e promuovere e
implementando test di simulazione per
un bel po ‘di tempo e test di simulazione
un approccio end-to-end che può esercitare
tutti i tuoi servizi e per finire e
in realtà una delle cose che abbiamo trovato è
i nostri clienti si stanno allontanando
team di controllo qualità centralizzati e non c’è
in realtà nessuno responsabile per
end-to-end testing e QA e terminare qualsiasi
più interessante uno di quelli che
tipo di ci ha detto quella storia di sei
mesi fa è tornato e ha detto ben
stiamo pensando a un centro
Squadra QA per controllare l’end-to-end
comportamento quindi penso che sia un pendolo che
che continua a muoversi personalmente preferisco
esplorare un sacco di spazio degli stati tanto
il più possibile per i miei test automatici
ma poi faccio anche uno stile di contratto
testare dove se ho cose che dipendo
da un altro servizio scrivo test
che eserciti le cose di cui ho bisogno
nello specifico da non sono il
API completa solo le cose di cui ho bisogno
e se poi si rompe lo so
che hanno fatto qualcosa di sbagliato e io
può urlare contro di loro in modo così evidente
Sono su l’altra estremità dello spettro
da questo e dall’altra il pannello di
che sì gli ambienti a cui mi sono occupato
lavoriamo di nuovo che stiamo sviluppando per
utenti interni non facciamo test unitari
non facciamo test di integrazione che non facciamo
facciamo test di stadiazione in effetti noi fondamentalmente
distribuire dal notebook alla produzione cosa
abbiamo fatto è perché la nostra produzione
gli ambienti sono stati pesantemente
si sono strumentati e noi stiamo andando
vedere praticamente tutte le prestazioni chiave
gli indicatori per il nostro business sono
fondamentalmente disponibile anche a noi
schierare e vedere cosa succede al nostro reale
metriche o ottenere più accessi o
ottenere più vendite
stiamo ottenendo una conservazione della pagina più lunga
volte qualunque sia la metrica che siamo
misurando ciò e ci stiamo schierando
ambienti dal vivo e vedere cosa succede
se distribuiamo qualcosa non reagisce
molto bene lo togliamo
non ha detto che stiamo lavorando
ambienti in cui lo otteniamo velocemente
feedback dei clienti e che ha
eliminato la necessità dell’integrazione
testare Jessica quindi non credo
questo è un problema risolvente so cosa
piace fare quale è quando sto testando il mio
servizio che voglio essere in grado di provarlo
senza accedere alla vera dipendenza
qualunque cosa sia e potrebbe essere il
database così come un altro servizio così io
finisci facendo un falso che mi consente di unità
test e test generativi ed eseguire a
tutta una tonnellata di test sui miei quello che desidero
è se quell’altro servizio mi desse un
libreria client che includeva una modalità falso
e quindi tutto quello che devo fare è testare il
falso una volta-in-un-mentre
contro il vero servizio come se avessi un
falso github allora potrei semplicemente provarlo
contro falsi github per assicurarsi che sia
coerente e nel frattempo corri tutto mio
prova super veloce è quello che è quello che io
finire per creare nel piccolo comunque e
è molto lavoro che ho di più
prova il codice che il codice reale se lo sto facendo
bene, questo è uno dei motivi
Sono un fan almeno per il sincrono
caso in Java di usare cose come
Retrofit quadrato finale di Netflix perché
lo rendono davvero molto facile da testare
come stai usando quel servizio con i mock
o falsi di qualunque cosa, ma voglio dire che lo sono
sta per tornare al punto che ho
penso che sia abbastanza importante
qualcosa ha un contratto se sai se
Voglio testare qualcosa che voglio sapere
cosa dovrebbe fare e sono d’accordo
con Michael in termini di valore di
quell’approccio e penso che se ne vada su a
il disaccordo è un buon posto per terminare a
pannello quindi voglio ringraziare il nostro
membri del panel e grazie mille
per tutte le domande sono così dang a
possibilità di arrivare a tutti loro ma sono
tutto intorno a domani, quindi sentitevi liberi
ad angolo loro e li pepe per il
posto più tardi alla festa ci sarà
Sii birra quindi grazie mille
tu
Please follow and like us: