
[Musica]
così ciao il mio nome è Clemens Io lavoro in
Microsoft sono l’architetto per
messaggistica in Microsoft in Azure, così noi
abbiamo alcune cose che eseguiamo in Azure
Sono stato in c’è molto da leggere
non ti preoccupare di essere stato
con nel dopo squadra per nove anni
ora che è divertente perché non c’è
nove anni quindi uno dei primi
servizi che o il primo servizio è
ha celebrato il suo decimo compleanno era al
fine del mese scorso l’ autobus di servizio perché noi
abbiamo avuto la nostra prima uscita pubblica di questo
servizio esattamente 10 anni fa il 31 maggio
2006 quindi siamo stati in giro un bel po ‘
un bel po ‘di tempo e non ho portato il
Bragg scivola ma i nostri messaggi
infrastruttura l’ infrastruttura del broker
che corriamo attualmente corre circa 350
miliardi di transazioni a settimana al mese
l’hub evento ho intenzione di parlare di
evento e gesto anche brevemente attualmente
fa circa tre virgola cinque trilioni
transazioni a settimana, quindi eseguiamo un equo
grande sistema di messaggistica e così messaggistica
è qualcosa che siamo quello che siamo
costruendo come succede da quando sono a
un po ‘più vecchio ho visto il
ciclo ora sto vedendo il ciclo il
la seconda volta vedo questi micro servizi
cosa e io sono come la ragazza in Jurassic
Parcheggiare nel centro di controllo come questo
un sistema unico che conosco questo che ho visto
queste cose ne risultano molte
diapositive che ti mostrerò oggi
sono dodici anni vedremo se
puoi individuare quali sono di loro
sto andando e ho un sacco di diapositive per
così questo sarà molto
materiale ho 70 diapositive quindi vedremo
come possiamo attraversarli e cosa sono
iniziare con è la mia nozione nostra
nozione di servizi e quale servizio
significa perché c’è un modo molto chiaro
capendo che abbiamo servizi e
vedrai anche perché, perché vado a
usa Azure come vetrina per cosa
i servizi significano perché costruiamo un sistema
quello consiste di 80 servizi che sono
tutti i servizi di carico di lavoro che non solo tu
può dipendere ma anche che dipendiamo
dipendono gli uni dagli altri quindi è molto
grande ecosistema di servizi che noi
costruiscici sopra dove costruiamo sopra
l’uno dell’altro quindi non è qualcosa
quello è interno no è qualcosa dove
squadre di carico di lavoro 30 persone 50 persone
in realtà costruendo servizi di carico di lavoro per
tu ma anche per le altre persone da consumare
e questo può funzionare solo con particolari
approccio a come costruiamo questi servizi
Voglio parlarti di questo e anche di questo
voglio parlarti della messaggistica che voglio
per dirti dei protocolli e voglio
per dirti delle scelte e sta andando
per finire in una foto riassuntiva molto semplice
per come puoi andare e strutturare il nostro
servizi e ci penso, quindi cos’è
un servizio questa è la mia definizione è
di proprietà costruita e gestita da un’organizzazione
questo è il primo criterio di definizione per
il servizio è quando parliamo di servizio
è qualcosa di cui si tratta
organizzazioni più che si tratta di
il software riguarda la proprietà di cui parla
autonomia di quell’organizzazione per andare
distribuisci ed esegui cose che il mio team esegue a
servizio e con che cosa significa correre c’è
non è un team operativo noi gestiamo quella cosa noi
costruiscilo noi lo distribuiamo lo eseguiamo secondo
il servizio è responsabile della detenzione
elaborazione e distribuzione particolari
i tipi di informazioni che rientrano nel campo di
un sistema e ha autorità per qualcosa
nel mio caso costruiamo una piattaforma tecnica
servizi costruiamo il servizio di messaggistica
e quel broker di messaggistica ce n’è uno in
quella piattaforma e questa è la nostra autorità
sì, in realtà abbiamo due code
un altro ha uno scopo diverso ma dentro
un’organizzazione che conosci più grande
organizzazione c’è un particolare
servizio che fa un particolare lavoro ora
potrebbero esserci delle sovrapposizioni e lì
saranno alcune sovrapposizioni dovute a
le pratiche giuste le aziende si fondono
poi c’è una cosa che ti chiama
c’è una trappola chiamata
il servizio clienti non c’è nessuno
servizio clienti perché ogni sub
organizzazione ha una nozione diversa di
cos’è un cliente ma per quello
nozione particolare di altri clienti
c’è un servizio come una squadra
lo possiede, ogni servizio può essere costruito e
schierato e gestito in modo indipendente
definiti obiettivi operativi lo faremo
parla anche di questo
comunica con i consumatori e gli altri
servizi che presentano informazioni utilizzando
convenzioni o garanzie contrattuali che
significa che c’è un contratto c’è
accordo su ciò che questo servizio e
come quel servizio comunica il progetto
protegge da accessi indesiderati
alla sicurezza e le sue informazioni contro
perdita c’è sicurezza per i tuoi dati e
gestisce le condizioni di fallimento come
i fallimenti non possono portare a informazioni
corruzione della corruzione quindi è un fallimento
la gestione è parte della definizione che
è il servizio a mio avviso se questo
è micro o macro o qualunque cosa sia
in realtà non importa perché tutto
quelle cose impilano anche il tuo servizio
che hai costruito come una composizione di tutti
i servizi a valle servizi che
tu consumi io ho detto lo scopo di un sistema
andiamo a definire anche questo è un sistema
una Federazione di servizi o altro
i sistemi che mirano forniscono un composito
soluzione per un ambito ben definito a
sistema di prenotazione aerea un video
portale di distribuzione alcuni di quelli
i servizi possono essere condivisi tra gli altri
e questo è vero per i servizi di piattaforma
che è per i servizi di carico di lavoro che
fornire logica di business business così come
il tuo spazio di archiviazione è un servizio che può essere
facilmente condivisibile su molte cose perché
non è un cliente molto specifico
il servizio contro questa è la trappola
improbabile sia il condivisibile attraverso
tutto ciò che non è esattamente questo
organizzazione che ha quel particolare
nozione dei nostri clienti la soluzione
lo scopo per quel servizio potrebbe non esserlo
solo tecnicamente motivato ma anche possibile
essere motivati dalla tecnologia aziendale
cultura del diritto politico e altri criteri così
potresti andare e creare un servizio separato
un servizio a gestione separata che può
consistono in un codice simile che deve essere
correre separatamente da una squadra separata
a causa di requisiti legali a causa di
regolamento a causa di tutti i tipi di esso
non solo requisiti tecnici non solo
requisiti aziendali puri con questo
anche altri requisiti per quello pure
che causa un diverso sistema
installazione in quale ambito nel cui ambito
i servizi funzionano
e un sistema può apparire e agire come un
servizio verso altri servizi così è
come un ufficio piattaforma SAS 365 è un
servizio ma è molto grande
conglomerato di realtà built-in
servizi che non si vedono mai perché è
ha una bella pelle sopra così così
molto per il servizio definizioni non
implica qualcosa di questo nella mia opinione, quindi se
qualcuno dice che puoi fare solo i servizi se
usi la finestra mobile che non ha senso
se usi su di esso puoi fare solo micro
servizi che utilizzano kubernetes
nonsense stesso per JSON o XML o sapone o
riposo o una di quelle cose ora che ha
niente a che fare con il servizio è davvero
qualcosa che parla di organizzazione
come temi e di cui hai parlato
proprietà e questo è qualcosa che è
importante che questa sia l’architettura
implementazione questo è servizi di design
per quanto riguarda l’architettura, in primo luogo ci arriveremo
al pezzo di design in un attimo
prima di ciò lascia che ti avverta di qualcosa
perché quando abbiamo provato quella cosa di servizio
l’ultima volta come 1998 1999 quando noi
si avvicinò con questa nozione di servizio
orientamento ed eravamo un po ‘come noi
Microsoft lavora in prima linea
è successo qualcosa che è venuto alla gente dell’ESB
e hanno incasinato tutto così abbiamo fatto un
buon modo hai fatto un bel po ‘ di
incasinando in tutto questo una storia con W
star specificatamente W security W security
era così complicato che nessuno lo capiva
era terribilmente è terribilmente difficile
implementare in modo da poter vedere perché la gente non ha fatto
come tutto il sapone tutto il sapone
business perché era troppo difficile l’ESB
anche se questo ha reso tutto veramente
terribilmente bene come è diventata la e
su ESB ha avuto molti dollari di marketing
dietro di esso e venditori con acquisito
interessa andare e venderti quella cosa
e vendere che cosa nell’impresa
quindi potresti comprare un prodotto I
non voglio colpire i concorrenti ma
puoi comprare quei prodotti e loro
ora saremo la parte centrale di tutto
della tua integrazione abbastanza interessante
quei venditori ora ti stanno vendendo il
Gateway API che è esattamente lo stesso
cosa così parliamo prendiamone un
guardalo per un momento così che il bus
che stai vendendo l’Enterprise
Il bus di servizio non è un autobus come un hub
tipicamente è per macchine su macchine
per le macchine è da qualche parte nel
angolo e attraverso il quale tutto il
barre di traffico di messaggi che non sono un autobus
questo è un collo di bottiglia nell’azienda
e sempre di più e più aggiungi
ad esso più difficile diventa quella cosa
scala è una realtà del perché io così
fallito in molti è un fallimento in molti di
tu in molte persone è vista perché
è accoppiato a esso è diventato accoppiato a
questa nozione di un ESB, quindi quali sono i
promette le promesse di questi ESB
che hai distribuzioni centralizzate
e config l’ integrazione e tu hai tutto
questi adattatori centralizzano il servizio
governance gestione centralizzata di
instradamento di archivi centralizzati condivisi
tutte le risorse centralizzate meravigliose che puoi
vai a farti girare tutte le leve
in quel posto il dilemma sta bene
scala
e se vuoi davvero avere un sacco di
servizi se gestisci questi dove sei ora
non avere clienti mobili che si presentano
centinaia di migliaia ne hai 80
servizi che devono dipendere da ciascuno
altro se vuoi andare centralmente
gestisci tutte quelle cose che hanno una radice
sta diventando davvero difficile chi è
mantenendo quei quattro server che è
possedere davvero tutte quelle cose che cosa
si trasforma in è l’IT centrale
organizzazione dove devi andare e
presentare una richiesta di modifica per l’ESB di andare
e cambiare un adattatore o cambiare il
configurazione quindi è un’idea orrenda se
lo avevamo fatto in Azure proprio in questo
esempio con tutti i servizi che noi
avere tutte le squadre che abbiamo con
con 5000 6000 ingegneri che stanno lavorando
su chi possiede quel centrotavola chi
possiede quel grande rendezvous in the
cielo che possiede il
server di applicazioni di integrazione che
tutto passa attraverso nessuno può è
troppo difficile in modo che l’intera idea di avere un
ESB di avere questa grande cosa in
quella città nel mezzo del tuo
impresa e che tutti
rhonda busan è un’assurdità e tutto il resto
è un fallimento che è il fallimento di no
della nozione di servizi che è
in realtà il fallimento del concetto di
centralizzazione così i micro servizi sono i
rinascita dei servizi mentre li combattevamo
all’inizio degli anni ’90
esempio migliaia prima di tutto quello ESB
nonsense è successo il gateway API è
esattamente la stessa trappola in modo da non cadere dentro
perché abbiamo fatto un pasticcio
di nuovo quindi tieni presente se qualcuno ti dice che io
voglio avere qui è un centralizzato
gateway API gestito identico
cosa così tanto come una parola di avvertimento
solo perché ora ho un caso studio
Microsoft Azure come facciamo a costruire cose
come li eseguiamo in modo da avere un grande
numero di servizi di caratteristiche che abbiamo
probabilmente 200 servizi complessivamente
compresi quelli interni che penso noi
avere 85 servizi di pubblica utilità che noi
avere nomi individuali e, naturalmente
c’è un sacco di cose nel back-end
questo ci aiuta a gestire il sistema
giusto quanto il Netflix
persone hanno un sacco di servizi che si
mai sapere perché sai che sei
consumando sono loro sono carini
front-end abbiamo molti servizi in
lo sfondo che anche noi stiamo correndo
il così e poi questi sono condivisi
servizi di back-end come una fatturazione come
Pipeline di diagnostica che fa il troll
negli eventi per effettivamente al minuto
e noi siamo tutti team indipendenti
quindi la mia squadra dipende da come contate
50 60 70 persone e stiamo spedendo
completamente indipendente da tutti
altrimenti nessuno non abbiamo bisogno di annunciare a
nessuno che stiamo spedendo non lo facciamo
bisogno di annunciare qualcuno che siamo
patching perché abbiamo stiamo facendo
promette alla nostra gente interna e
stiamo facendo promesse al mondo
chiaro vantaggio che abbiamo come squadra
è che siamo noi abbiamo l’obbligo di
il pubblico perché stiamo spedendo a
servizio pubblico e anche interno
le parti interne fanno affidamento su così abbiamo il
obbligo di aggiornare il sistema che
è di stato è un broker di messaggi
sottocarico che mantiene il mantenimento dello SLA
SLA significa abbiamo bisogno di avere il 99,99% di uptime
Affidabilità del 99,99% grazie all’aggiornamento
processo e questo è qualcosa che noi
solo quello stava facendo una promessa su di noi
devo andare e sostenere che spediamo
caratteristiche e correzioni ogni giorno c’è questo è
dispiegamento in corso tutto il tempo lì
era un tempo in cui i dirigenti
sali sul palco e ti stiamo presentando di sicuro
che c’era una sorta di gruppo di cambiamento
che non esiste più come se ci fosse il bene
schieramenti in corso quando Scott Guthrie
si alza sul palco durante la conferenza di costruzione
che forse solo gli aggiornamenti sono in esecuzione perché
non c’è banda tutto ciò di cui ha bisogno
lavorare
28 più servizi centrali per data center I
pensiamo di essere fino a ben oltre la nostra totale 30
l’impronta del data center è 200 che noi
avere incluso due nodi CDN e cosa
altrimenti facciamo in Microsoft ma indirizzo
attualmente nel ventotto abbiamo il nostro
il servizio ne ha almeno due a volte quattro
a volte più cluster in ognuno di questi
data center e strutture e quelli
i cluster sono tra 16 e 256 macchine
con due o quattro core ciascuno, quindi corriamo
cluster abbastanza grandi in quelle configurazioni
attraverso quei sistemi e quello che fanno è
spostano i messaggi solo in modo intelligente
modo l’unico modo in cui questo può funzionare
quindi ho appena parlato di noi ma di noi
noi il servizio deve vedere la messaggistica
squadra abbiamo federato tutti gli altri così noi
fare affidamento sullo storage ci affidiamo a noi
fare affidamento sulla pipeline di fatturazione che contiamo
su tutti quegli altri servizi così tutti
deve essere in grado di andare e schierare
se stessi tutti hanno bisogno di andare e
avere la stessa agilità e questo è
qualcosa che puoi ottenere solo se
abbiamo i giusti principi, quindi quello che io
detto all’inizio della
definizione che è il nucleo
quei principi e quindi voglio
spiegare di più e come si arriva a quelli
principi come pensiamo a quelli così a
servizio lasciami andare e tuffarmi in più
da una prospettiva concettuale perché
quello conta e questa slide è in realtà
questa diapositiva e questo è qualcosa che
Ho finito sono davvero contento e orgoglioso
di devo dire che questa diapositiva è letteralmente
dodici anni che era giusto allora
è in questo momento e questo è favoloso
cosa avevamo ragione su questo insieme
cosa dodici anni fa riguardo all’autonomia
riguardo a fare questo nella cosa giusta noi
costruita i servizi in modo che questo sia
non è un nuovo movimento questo è dimostrato
principi ed è per questo che sono così
entusiasta dei miei servizi di base, non lo sono
entusiasta del nome in realtà ma io sono
entusiasta del fatto che abbiamo
ripresi i servizi da questo casino che
era l’ESB e stanno riscoprendo il
principi questo è un ciclo che sono davvero
entusiasta di così una proprietà di definizione di
i servizi è che sono autonomi e
quell’autonomia parla della squadra
l’autonomia è l’indipendenza di un servizio
tutto lo stato da cui dipende immediatamente
i manager a cui appartengono tutti i dati
quel servizio e solo a quel servizio
il servizio possiede la sua comunicazione
contratto il proprietario del servizio possiede il
il contratto fa una promessa e se vuole
per fare un cambiamento possiamo farcela
fai un cambiamento ma non c’è un centro
comitato che definisce cosa
il contratto sembra il team di servizio
possiede quel contratto di comunicazione il
il servizio può essere cambiato redeployed o
completamente sostituito in qualsiasi momento
ha un insieme ben noto di comunicazione
percorsi dove si annuncia il
servizio noterà non condividono stato
nessuno stato interno con gli altri e
non esiste un archivio dati comune non c’è
condiviso in memoria con qualsiasi altro
servizi se si fa questo allora tu
non hai un servizio potresti avere una lacrima
ma un altro servizio che sto per raggiungere
livello a due livelli e servizi e livelli in
un momento e non ci può essere nessuna linea laterale
comunicazione quindi parleremo anche e
Ti farò avere una foto in un attimo
cosa significa in termini e perché
questo è male
interdipendenze che il tuo servizio ti possiede
possiede il proprio uptime se si dipende da a
servizio di archiviazione sotto se il tuo
i dati sono archiviati e quel servizio è sparito
questo è colpa tua, perché si dovrebbe
avere una replica di questi dati da qualche parte
altrimenti o almeno si dovrebbe minimizzare il
rischio tale che forse uno dei tuoi
le partizioni vanno giù perché è così
scende laggiù ma dovresti andare
e diffondere il rischio in giro per il tuo
dipendenza downstream in modo che tu possa andare
e stai sveglio e dovresti te se tu
rimani se vai giù , almeno, sii
in anticipo riguardo a ciò e giusto
errori indietro
non solo schiantarti come devi aspettarti
che tutto ciò che è a valle
da te non è disponibile potrebbe non esserlo
disponibile quindi qual è il tuo piano per quando
succede così che sia qualcosa da essere
veramente consapevole di possedere il tuo
fino a non è qualcosa che tu
può andare e incolpare gli altri e
il servizio autonomo onora il proprio
contratti perché puoi essere solo
autonoma se si ha fiducia che
puoi andare e aggiornare e questo significa
hai fatto una promessa nella corrente
versione e ora hai fatto un make
aggiornare bene le altre persone che lo sono
parlare con te non sa del tuo nuovo
funzioni nel tuo nuovo contratto così tu
devo onorare il vecchio e in più
casi c’è un contratto di persone che
va d’accordo con ciò che significa che siamo
andare al tramonto questa API in un anno e
questo è quanto altri avvertimenti
le organizzazioni hanno bisogno e questa è la nostra politica
è per dire che in realtà ti diamo un anno a
vai e cambia le cose e basta
a volte potrebbe anche essere lento quindi sì
può entrare e rapidamente evolvere il tuo
servizi ma è necessario essere tutti sul nostro
contratti arretrati e se si guarda
molti dei servizi che abbiamo
a volte loro realmente sul nostro
Contratta le versioni 2020 indietro perché noi
non possono rompere i bit dei client sono
i bit distribuiti vengono spediti con altri
software in modo da onorare il contratto è il
è il modo in cui consegui l’autonomia
te stesso è qualcosa che tu sei un
disciplina richiesta quindi perché è condivisione
i depositi di dati cattivi lì
un semplice esempio in modo da avere due
servizi e ordinano i dati che hanno
recuperato da una chiave primaria lo passa
su agli altri servi che altro
servizio
ora ci affidiamo allo stesso negozio giusto
i dati di token il problema con quel modello
è che il servizio non può mai andare e dipendere
nell’altro negozio a destra non puoi muoverti
quel servizio all’altro negozio
perché hanno una relazione segreta
con l’altro condividono le chiavi primarie
non possono dover passare i dati
in giro letteralmente quando lo fai
questi due servizi non sono accoppiati perché
è quello perché è uno è uno
negozio non puoi separarlo non puoi
ridimensionalo non puoi dividerlo
non si può fare nessuna delle cose che uno dei
i servizi potrebbero voler fare perché
l’altro dipende da un particolare
relazione con loro quindi questi non lo sono
due servizi questi sono in realtà due
moduli che stanno guardando allo stesso modo
database anche la cosa bella è quella
il disaccoppiamento del data store consente l’evoluzione
il pezzo del contratto non è solo valido per
parlando con te attraverso il servizio
tramite l’ API REST o tramite
messaggistica è anche vero per il
relazione con l’ archivio dati
perché l’archivio dati ha anche un
contratto ha uno schema in modo da avere un
evoluzione che va dove ora
bisogno di avere nuove funzionalità e se tu
hai nuove funzionalità e devi avere
l’ archivio dati cambia bene
l’archivio dati può facilmente cambiare in se
hai separato il negozio così il
scomposizione di servizi da un modello
prende l’applicazione in mezzi di servizio
che stai distruggendo il database
altrimenti non hai i servizi
deve significare che si interrompe il database e
rompendo il database c’è un intero
parlo che mi piacerebbe dare e
questo è probabilmente il discorso di 3 ore
i modelli di dati guardano il tuo database e
e differenziare tra i dati che
è scritto che è letto bene e caldo e
allora hai letto bene una volta e mai
cambia di nuovo
Penso a cosa fanno i dati ci
alcuni dati che puoi facilmente replicare
in tutto il mondo molto facilmente e il
nucleo transazionale è molto piccola in
la maggior parte dei database quindi devi triage
il tuo database con il modello Big Data
170 tavoli o 700 tavoli sono morti se tu
voglio fare anche i servizi
requisiti diversi in termini di scala
e questo è dove abbiamo anche ad a
preoccupazioni a due livelli dopo aver a
servizio che si occupa di front-end
traffico da dispositivi mobili e da a
app mobile che hai appena spedito e tu
avere un servizio di back-end che solo
accetta qualsiasi prenotazione come te
un viaggio un servizio di viaggio il viaggio
il servizio con il catalogo sta per
servire un sacco di richieste quei viaggi
le prenotazioni arriveranno, lo sai
abbastanza raramente quelli hanno completamente
diverse preoccupazioni e scala di scala
puoi andare e costruirli diversamente per te
avere un servizio B servizio P questa diapositiva è
in realtà 15 anni il servizio
diventa troppo stressato cosa fai e
sono tutti seduti sulla stessa macchina
li abbiamo lasciati due macchine
qual è il requisito non condiviso in
stato della memoria non condiviso in memoria
dipendenze tra i due di cui hanno bisogno
per essere autonomo il servizio funziona ancora
caldo quello che fai bene hai diviso
tra macchine così nel caso più semplice
non puoi avere istanza incrociata a
questo è dove la nozione di apolidi
si presenta in cui non si dispone di alcun
interdipendenze tra questi servizi
istanze che non condividono lo stato nel
caso più semplice perché più
i nostri sistemi sofisticati diventano più difficili
ottiene l’elenco dello stato e lo stato
la lista è in realtà solo una bugia per lo più
perché parla della lunghezza del
sessione non parla di nulla
questo sta accadendo in fase di runtime
stateless significa che di solito si fa a
richiesta e dopo tale richiesta
dimentica tutto la lunghezza impostata del
la sessione è una, ma abbiamo sempre di più
sistemi sofisticati dove la lunghezza
della sessione è più lunga di così
cosa stiamo facendo per farlo?
quindi c’è l’infrastruttura che aggiungiamo
per questo oggi
stiamo monitorando il clustering moderno
l’infrastruttura può consentire e facile
failover di condivisione dello stato coerente di
aspetti di proprietà di partizionato
carichi di lavoro uno di questi esempi è
qualcosa che abbiamo nel nostro cloud e
disponibile anche da locali anche in
anteprima per Linux e si chiama
tessuto di servizio e tessuto di servizio è un
clustering fabric ce ne sono molti altri
esempi di dhts
il servire i tavoli hash puoi andare
e trova che può anche andare e replicare
quel tipo di stato tra le macchine ma
Ti darò un esempio di come
tessuto servizio funziona nel nostro sistema così
questa è un’immagine generica di un gateway
che ha un computer statico dietro e
ha un livello di storage dietro si scopre
il nostro servizio che costruiamo il nostro broker
in realtà è sembra che sia così
in questo modo abbiamo un gateway HTTP e
hai la funzione di ricerca che consente
per trovare il proprietario del
secchio uno così il primo questo primo
la freccia gialla in alto implica a
cercare la struttura del cluster che
poi dice che ho bisogno di trovarne uno il proprietario
di una macchina che possiede uno che è
di solito una risoluzione hash lo trova
il posto va e parla ad esso simile cosa
succede quando quel fatidico calcolo
il cluster ora parla al livello di storage
che trova anche quel posto adesso
succede qualcosa che muore in macchina
sistema di cluster automaticamente
cade automaticamente fallisce verso
il secondario che è già stato
innescato conosce tutti i dati che esso
ora viene eletto al nuovo al nuovo
primario e se succede la stessa cosa
sul livello di archiviazione bene lo stesso
il failover accade così è quella roba
ciò accade in questi moderni in questo
tessuti di cluster in cui lo stato di stato è permesso
non esiste più
esattamente stateful va bene perché noi adesso
avere modi per entrare e creare
coerenza tra un grande cluster così
che possiamo andare e scalare quelle cose
fuori perché ci sono problemi che
richiede quell’apolidia nel senso di
Webster, ma è ancora molto facile ma
ci sono carichi di lavoro dove devi andare
e mantenere la proprietà e dove tu
bisogno di mantenere una nozione di ciò che è
cosa e dove è dove era così
in cluster c’è una favolosa chiacchierata
sfortunatamente non ho potuto esserci
non essere registrazioni ma c’è ancora il suo
mazzo di diapositive che è in giro se trovi se
cerchi caratteristiche e ti emette
troverà un fantastico deck pad Helland
ha scritto questo ha detto che è stato favoloso
2000 ora nel dio transazione anni ’90
e ha scritto questo libro che ha scritto
questo mazzo su motivi di festa e
emissari e uno degli aspetti chiave
qui c’è uno intorno all’autonomia dove lui
parla di come pensare all’autonomia
e il rapporto con altri servizi
e un emissario è molto interessante
concetto un emissario è un pezzo di
software che dai a qualcuno con cui parlare
voi e questo è qualcosa che facciamo molto
molto spesso oggi dando agli SDK delle persone
quindi Kafka per esempio ha un privato
protocollo e si riservano il diritto
Infrastruttura di messaggistica di Apache Kafka
questi ci riserviamo il diritto di cambiarlo
il modo in cui aggirano questo intorno
pubblicare il protocollo in modo efficace o
impegnarsi per il protocollo è che loro
spedisci i tuoi pezzi così ti spediscono un SDK
per questo e questo e questo per molti
molte lingue diverse che sono
emissari vedremo di più e
più di questo nello spazio di IOT perché
abbiamo una nozione di edge computer
vuoi andare a spingere il calcolo in
dispositivi che sono seduti a bordo noi
voglio andare e spingere il calcolo a
dispositivi di nebbia che sono in qualche modo seduti
la rete quindi i servizi no
necessariamente tutti si nascondono dietro il loro
confine ma possono inviare poco
agenti software fuori nel mondo che
tipo di lavoro per loro conto e se
vedi cosa fa javascript oggi
browser per conto del back-end
servizio ne hai molti di questi
emissari così
è anche qualcosa che è un vecchio concetto
dimostrato perché lo facciamo sempre
il vantaggio di mantenere questi servizi
autonomo è quello che consentono
servizi di agilità operativa e tutto il
le implementazioni possono essere spostate per
configurato sostituire dietro la tenda
ti stai impegnando in un contratto
impegnarsi a un certo esterno
significa affrontare il contratto significa che si sta impegnando
mentre stai aggiornando mentre stai cambiando
continui a onorare ciò che ti compra
quella sorta di autonomia di agilità anche e
il che significa non condividere i negozi no
condividere tutto ciò che è tipo di
consente anche il downstream del tuo stack
il clustering non ti permette di raggrupparti
non puoi fare partizioni che non puoi fare
clustering non puoi fare a pezzi il tuo
lavorare con ridimensionamento del carico di lavoro se
condividi i negozi se li condividi
infrastruttura a valle con nessuno
altrimenti perché non hai agilità
vai e cambialo è davvero importante
in definitiva riusabilità e adattabilità
è qualcosa che puoi ottenere quando
sei autonomo, quindi l’autonomia è la
principio fondamentale e se si vuole prendere
niente a casa da oggi da questo discorso
l’autonomia è importante che è il
servizio cosa cercano di ottenere così
cosa stiamo cercando di spedire quando spediamo
un servizio andiamo e andiamo avanti
disponibilità della scalabilità di autonomia
coerenza e non ho abbastanza tempo
per andare e definire tutti i modi in
i dettagli lasciano la prevedibilità dell’affidabilità
questo è uno che è facilmente trascurato, ma
qualcuno che in realtà ci ha male abbastanza
un po ‘se noi i messaggi si spostano attraverso il nostro
sistema X millisecondi persone si
davvero arrabbiato se ci vuole di più
millisecondi rispetto ai soliti millisecondi
e se se ne prendessero cinque
secondi per andare e spostare un messaggio in giro
ottengono che ci chiamino è la prevedibilità
mezzi di prevedibilità veramente importanti
devi recidere le risorse da fare
lo stesso lavoro più e più volte c’è
molto da dire sulla multi-tenancy in
il perfetto la meraviglia di esso
ma se hai bisogno di prevedibilità ti serve
avere le risorse disponibili a tutti
volte quindi è qualcosa che è il
punto di design interessante che abbiamo nel nostro
servizio ora una capacità di premio
messaggistica dove abbiamo effettivamente viviamo
risorse ring-fence siamo in Francia CPU
e memoria per i clienti in modo che loro
ottenere sempre la stessa prestazione
non lo facciamo in un multi-tenant
sistema più in quei casi particolari
solo per la sicurezza è la prevedibilità
evidente agilità la capacità di andare e
fai tutti i cambiamenti di cui ho parlato
rischio per la sicurezza della capacità di supporto in caso di catastrofi
costano tutti quelli sono operativi
obiettivi che un team di servizi deve avere
si incontrano e il team di servizio ha tipo in
quello in quelle tutte quelle categorie
avrai queste diapositive per te
può andare e rivedere quelle aree che rende
assicurazioni che è la cosa così fondamentalmente
in tutti quei secchi a cui pensi
ciò che si sta tentando di raggiungere e poi
A questo punto è trasformarla in una garanzia per
i tuoi clienti perché è parte di
costruzione di un servizio e gestione di un servizio
qual è il mio pronostico previsto
prestazione qual è la mia scalabilità giusta
se compri X, ottieni questo e te
andrà e sconto in base a ciò che il tuo
le metriche sono e in pratica ciò che tu
misura che andrai a dare te stesso
qualche wiggle room e poi fare un
l’impegno per questo è la mia affidabilità
questo è il numero di transazioni di volontà
fallire e fallimento della transazione
le transazioni possono essere un po ‘così per
esempio quello che facciamo sui nostri broker è come
Ho detto tre trilioni di transazioni
più vicino a tre trilioni di transazioni su
hub degli eventi a settimana
uscita con affidabilità del 99,99% su migliaia di miliardi
abbiamo molti errori ne abbiamo milioni
errori milioni di errori va bene
perché siamo molto sinceri su
quello che sei non puoi aspettarti la perfezione
fuori di noi perché stiamo eseguendo un sistema
alla scala del dramma ma è qualcosa che tu
bisogno di essere molto chiari e di spunto
con le persone quindi qual è il tuo ciò che è tuo
impegno va bene così tanto su
servizi quindi il servizio è qualcosa che è
davvero un contratto che fai con
altre persone ed è qualcosa che è
sulle organizzazioni non sul codice questo
riguarda i livelli e i livelli dei livelli di codice
un livello è il modo in cui organizzi il codice
avere una nozione dell’interfaccia che hai
una nozione di logica e tu hai una nozione
di accesso alle risorse la ragione per cui noi
introdurre gli strati indietro in sai
ce ne sono molti di questi livelli
modelli MVC è uno ma c’è il
three-tier classic three-tier è uno
ci sono molti di questi livelli di
questi modelli e quei modelli sono
sempre per il trading resilienza tra
quelle preoccupazioni diverse in modo che tu possa andare
e cambia se tu in MVC puoi andare e
gettare la vista senza rompere
tutto il resto giusto in a
app classica a tre livelli che puoi aggiungere
un’altra interfaccia puoi aggiungerne un’altra
modo di comunicazione senza rottura
tutto il resto è possibile sostituire il
database ora sto scherzando non puoi
sostituire il database che molte persone hanno provato
tutti sanno che non puoi, se cambi
il database si può rovinare così il
arrivano le motivazioni ed è anche questo
perché ho quel cerchio proprio dal
fuori è più flessibile dall’interno
e quando si arriva ad accedere alle risorse
quando arrivi al database sei il tuo
il tuo super accoppiato ma fuori
il margine che puoi essere posato può essere molto
coppia più sciolta è dove hai di più
leva piuttosto che nel mezzo
anche questo è un motivo per cui vuoi farlo
mantenere quelle cose autonome che vuoi
se hai bisogno di avere un database importante
cambia tu vuoi limitare l’impatto
a quel servizio che non vuoi andare
e ridisegnare il mondo così va bene
igiene nei vostri sistemi quindi comunicazione
strati strati di risorse e poi il
roba nel mezzo che è ciò che noi
logica di chiamata sono lacrime fantastiche
organizzazione runtime questo è e questo è
dove è qui
Potrei non essere d’accordo con alcune altre persone
chi chiama microservizi cosa
micro-servizi sono solo io ho un chiaro
distinzione tra servizio operativo
assicurazioni contratti squadre e livelli
quali sono le cose che effettivamente ottengono
schierato per me un gateway non è un
servizio il gioco fa parte di un servizio
ma non è un servizio di per sé un HTTP
Il livello API non è un servizio perché
non può non è indipendente dal resto
del sistema di questo del
servizio che hai distribuito il servizio
che tu possiedi per me è un livello e
puoi andare e indipendentemente
schiera i ti si, ma se devi andare
e fai magia magica per andare e farti
sapere di fare una distribuzione di francobolli del tuo
servizio
non puoi rompere nessun altro, ma puoi farlo
sostituire completamente tutti i componenti interni di
è così che le lacrime ti stanno incontrando
obiettivi operativi e questo significa
che il livello Gateway può aumentare in scala
che il livello di back-end può tutto tuo
diverso serve a tutti i diversi
livelli che siedono nel sistema in cui siedono
il tuo servizio potrebbe essere diverso
obiettivi che hanno bisogno di incontrare così io
posso dirti dal nostro servizio da
bus di servizio facciamo un sacco di MPP e HTTP
traffico e un sacco di cripto sul
gateway facciamo un sacco di pesanti competitivi
il lavoro di calcolo potrebbe non sembrare così
ma la messaggistica è piuttosto difficile
un sacco di lavoro di calcolo nel back-end in
il back-end di messaggistica quei due livelli
sono completamente diversi in termini di
caratteristiche e siamo anche come un set
risorse di ring-fencing per i clienti
la prevedibilità del sistema dipende da
il livello di messaggistica ma non spende
così tanto sul Gateway è qui il
Gateway è qui ha completamente
esigenze diverse per memoria e CPU e
networking quindi il livello di messaggistica
quindi li abbiamo separati, non corriamo
li su un singolo set di macchine noi
effettivamente eseguire due cluster che sono
efficacemente legati l’un l’altro e fatti
il servizio e poi ne abbiamo un altro
livello ovviamente che è il livello di archiviazione
sotto di essa noi spezziamo queste cose
in lacrime perché abbiamo bisogno di ridimensionarli
diversamente
e perché usano le risorse di
il sistema in modo diverso e se abbiamo
utilizzo uniforme delle risorse sul nostro
le macchine in realtà aumentano
affidabilità e, nello specifico, in
messaggistica vendiamo affidabilità come a
servizio così il modo in cui questo si materializza come
Ho appena detto che questo gateway è il back-end
memorizzare diversi livelli un servizio così
i livelli riguardano la gestione del codice
livelli della nostra gestione del tempo di esecuzione e
servizi davvero di proprietà che è
quella foto che ha una testa ora lo prometto
comunicazione che abbiamo 10 minuti fa
proviamo questo messaggio di comunicazione
è tutto su come spostiamo le informazioni
tra i sistemi e questo è qualcosa
è molto importante per parlare
servizi perché i servizi sono collegati in rete
entità quindi parliamo di come
la messaggistica si materializza è la messaggistica
su come ottenere dati da A a B e viceversa
a volte non sempre a volte c’è un
molto di qui quindi hai molti clienti
bisogna fare i conti con qualche volta
mostrare tutti allo stesso tempo a volte
loro mostrano che a volte ti gocciolano
hai enormi quantità di dati che tu
bisogno di andare e affrontare a volte quello
permette loro sono lì è necessario
invia un messaggio che devi ottenere
messaggio a molte persone ne abbiamo uno
servizio chiamato hub di notifica
così abbiamo fatto anche ciò che è specificamente
costruito per il problema di diciamo il
Giochi olimpici o organizzazioni di notizie
che vogliono andare e inviare un byte di notizie
ma è necessario portarlo a 15 milioni di telefoni
entro pochi secondi a volte il
le destinazioni sono tutte diverse così noi
in realtà bisogno di andare e differenziare
a volte la destinazione non sta pagando
attenzione o non puoi quindi devi fare
qualcosa da fare e tu sai avere un
piccola cassetta postale per questo a volte il
la destinazione è super affollata, quindi lo farà
ti butto un 503 se cerchi di mantenere
solleticandolo ea volte è solo così
appena morto e tu non sai cosa sia
ci devono essere risposte a quelli
i problemi
HTTP che tutti usiamo ed è il de
default di fabbrica per tutti i micro servizi
non risponde ad alcune di queste domande
quindi andiamo un po ‘oltre e
tipo di pensare a quale protocollo
i requisiti possono essere e quali sono le cose
e cosa significano quei termini
client e server
cosa è client e cosa è client server
e il server in definitiva descrive solo chi
rende la connessione iniziale hai a
rete qualcuno sta ascoltando e
qualcuno sta connettendo che è client e
il server risulta in molti e in HTTP è così
accoppiato a destra
l’ intera nozione di chi può fare un
richiesta e chi può andare a chiedere a qualcuno
altrimenti è completamente abbinato a chi
rende la riconnessione del cliente che è
non è vero da nessun altro protocollo
restiamo con client e server come
solo la festa che sta ascoltando
messa in rete del partito che si sta connettendo
che è utile per molti scenari se noi
pensa che tu sappia che hai un cliente
che ha bisogno di connettersi da un
ambiente che è protetto da firewall e
anatta lui tutto ma tu vuoi ancora
per tornare a loro
dal lato del server bit di destra no
sarebbe bello se fosse possibile e
disconnesso dal fatto chi è
connettersi e connettersi e così via
client o server è solo il
direzione della connettività di rete quindi
c’è la direzionalità di questo
la connessione è simplex solo a senso unico
alcuni protocolli lo fanno o sono duplex
permettendo il flusso di dati in entrambi
direzione iniziata da entrambe le direzioni
questa è una preoccupazione separata, quindi c’è
simmetria AMQP di cui apprenderemo in
un secondo è un protocollo simmetrico qualsiasi
il contenuto delle due parti collegate può
fare tutto ciò che gli piace è definito in
il protocollo in ogni momento tranne
connesso quando è connesso
stabilito è completamente simmetrico HTTP è
non simmetrico perché solo loro
la parte di connessione può emettere richieste in tal senso
è stato un po ‘rilassato in HTTP
– ma non sono quelli non simmetrici
protocolli 8mn qtt amici un altro
anche il protocollo di messaggistica non è simmetrico
perché ci sono cose specifiche
solo il cliente può fare
multiplexing a volte sarebbe bello
essere in grado di andare e utilizzare lo stesso socket
per due richieste contemporaneamente HDPE
non può hb2 può perché ha aggiunto
multiplexing perché non c’è c’era
la consapevolezza che potrebbe essere bello
prendi quel costoso HTTP ssl / tls
socket che è stato stabilito e
riutilizzato invece di farne molti
più per piccoli carichi utili che inquadrano cosa
quei protocolli fanno è inquadrare il
dati per noi e poi prendiamo dati e noi
codificalo sopra quel jason avro
message pack xml MPP ha il suo
codifica CSV MPEG testo non elaborato ci sta bene
scelte per tutti per tutti i tipi di
carichi di lavoro Avro è un fantastico fantastico
fantastico formato per codificare le serie storiche
dati è binario c’è extra
compressione con cui porta lo schema
è incredibilmente molto ma e ha
sistema di tipo migliore di Jason proprio il
il mondo non è il motivo per Jason
perché HTTP ha un tipo di contenuto e perché mqp
ha un tipo di contenuto è che puoi andare
e arrivare a scegliere quello che stai andando
vai e trasferisci devi solo essere
in anticipo su cosa supporti e poi
ci sono metadati che vuoi dire alla gente
di quello che vuoi dire all’altra parte
su ciò che questo messaggio contiene HTTP
ha avuto tre intestazioni definibili in QPS
Intestazioni e utt definibili di Frieda
abbastanza intercellulare abbastanza non ha
quindi devi andare e maneggiare tutto questo
informazioni nel percorso dell’argomento che
tipo di rende un po ‘strano o hai bisogno
per avere accordi di out-of-band tutta
quelli così così in questo contesto del
contesto e servizio di comunicazione è a
artefatto riutilizzabile che può accedere a
accesso attraverso canali ben definiti da
qualche contesto di interfaccia così è
le comunicazioni si concentrano proprio su questo
vantaggio e si sta concentrando su quel contratto
e che puoi farlo aderire ad a
particolare contratto abbastanza interessante
non
nessun singolo meccanismo di comunicazione si adatta
tutti gli usi quindi cercano di adattarsi a tutto
nella minaccia di riposo cercando di adattarsi
tutto in HTTP non lo è
aiutare ma è controproducente per
molti percorsi e cercando di fare tutto
in JSON è anche controproducente noi
avere la flessibilità in questo nel
stack per andare effettivamente e usare diversi
formati per scopi diversi che hai
un insieme che è il contratto il
il servizio ha una superficie composita
questo è il contratto che devi imparare
anche qui ma che può essere composto da
più canali e può essere composto
di molteplici modi di come si va a qualsiasi codice
dati quindi sarò il cinque assoluto
minuti posizione trasparenza bene cosa
Ho appena ucciso, va bene?
la trasparenza della posizione significa che tu
non è davvero molto facile
non date alle persone l’ indirizzo diretto
al tuo servizio ti nascondi almeno
un livello di riferimento indiretto se si dà
qualcuno si dà a qualcuno un nome DNS che
quindi esegue la mappatura su dove effettivamente si trova il tuo servizio
si siede perché altrimenti non puoi muoverti
il servizio ci sono situazioni che
abbiamo avuto nel nostro nel nostro mondo dove noi
ha dovuto letteralmente sostituire i gruppi di taglio in
prendendo i dati del cliente e copiando
nel nuovo cluster perché il nostro
i cambiamenti dello schema erano radicali e abbiamo avuto
per andare abbiamo fondamentalmente l’attuazione di
pezzi in modo che tipo di fatto una copia in
nuovo cluster copia continua nel nuovo
tipo di cluster di mantenere il sistema
coerente e che ha fatto un DNS forzato
passaggio di tutti così abbiamo fatto noi
ribaltato abbiamo chiamato il record DNS
azzerare il TTL in modo efficace in a
la strada a gradini portò giù il vecchio ammasso
base hai tagliato la connessione di tutti
tutti hanno capito che tutti hanno fallito
preso il nuovo record DNS
funziona davvero perché molte sette lo sono
bene su TTL e poi ho avuto tutti
sul nuovo stack così e l’unico
il modo in cui posso farlo è avere un ulteriore
astrazione utilizzando DNS per la posizione
trasparenza
saprete tutto questo si sa tutto questo
sì, quindi voglio dire che è ovvio che TCP
è un flusso e un villaggio dovrei avere
tagliare quelle diapositive mi rendo conto che va bene così
ogni servizio può essere raggiunto almeno
attraverso un canale ma può avere
canali multipli e il bordo
è effettivamente l’utente dei servizi
interfaccia se hai ragione così tu
puoi avere puoi avere multipli multipli
interfacce al tuo servizio e questo è
tutto bene così nell’interesse del tempo
arriviamo ai protocolli per iniziare
parliamo in modo efficace come siamo
ora informato su di loro che cos’è HT p11
HP consente solo la risposta alla richiesta
il modello non è simmetrico non consente
il multiplexing consente la codifica variabile così
è grandioso
e consente ai metadati di non darti
assicurazioni se e quando il messaggio
arriva da qualche parte
WebSockets non è un protocollo, bensì è un
protocollo ma è tunnel per lo più se
stai creando se dici che io uso
WebSockets quindi la domanda è cosa sono
hai intenzione di mettere in cima alla
WebSockets musicals WebSockets è un
protocollo di framing e questo è tutto ciò che fa
quindi qualsiasi cosa tu faccia su WebSockets se
non stai usando niente che sia un
protocollo che è sovrapposto a WebSockets
allora stai usando qualcosa che è
proprietario perché è solo un tunnel
è un trucco per arrivare a un 443, ma è così
non un protocollo di per sé che dà
sei un socket crudo quindi se fai qualcosa
appena sopra WebSockets che hai appena creato
il tuo piccolo protocollo HT proprietario
è un CP come lo conosciamo più
multiplexing più intestazione binaria
la compressione non è più molto semplice
protocollo SHP quando uno era e se HP due
era venuto prima l’adozione di quello
sarebbe avere molto poco, ma ora
questa cosa ha un sacco di adozione molto
grandi aziende dietro di esso e il browser
fornitori e tutti i fornitori di server Web
sai che puoi colludere e puoi andare a fare
qualcosa che è complicato ma è così
efficacemente ciò che noi
e ha una nuova caratteristica speciale
un canale di comunicazione unidirezionale che
consente al server di andare e inviare dati
back coop è un protocollo che sentirai di più
circa nel contesto di IOT in Internet
di cose che è molto simile a HTTP
interessante è un simmetrico così qualsiasi
il sito può andare nella richiesta iniziale e lo è
super-super-super-piccolo ed è essere
usato oggi per andare a gestire tutto il resto
dei tuoi telefoni cellulari è così il tuo
i telefoni cellulari comunicano almeno in
le tue implementazioni il protocollo lwm 10
che viene utilizzato per la gestione dei dispositivi
sentirai di più su questo se lo sei
coinvolto nel cellulare o se lo sei
coinvolto in IOT e poi c’è MQTT
un protocollo di sottoscrizione editoriale di
i protocolli di messaggistica che è grande
per comunicare la telemetria ideale per
comunicare piccoli bit di piccoli bit
di dati e poi c’è l’MPP
protocollo che è un protocollo di messaggistica
che tipo di si siede su siede un po ‘
sopra MQTT in termini di capacità esso
supporta il multiplexing che MQTT non ha
è completamente simmetrico MQTT MQTT
non solo quei due protocolli AMQP e
I MQTT sono i due candidati se non lo fai
usa HTTP e due candidati per
messaggistica asincrona con un broker in
al centro puoi fare tutti i tipi di
cose aggiuntive interessanti e io sono
già nel tempo ho intenzione di prendere
altri tre minuti di livellamento del carico
il servizio si blocca c’è un sacco di web
server qui che prendono il traffico che hai
una coda c’è molto traffico che è
in arrivo e tutto che atterra nel
fare la fila la cosa bella è se hai un
servizio che si trova dietro a questi e ad esso
ora tira da una coda che lo sottolinea
arriva sul web non scende
nel tuo servizio perché fai una spinta
per tirare traduzione attraverso la coda si
ti dà il livellamento del carico che ottieni
vero un po ‘di equilibrio tutto il carico
i bilanciatori sono bilanciatori di carico HTP
in realtà mentendo a te è una bugia
sta mentendo perché non lo fa
considera il carico del tutto solo spray
tutti i meccanismi che permettono che cercano di fare
bilanciamento del carico misurando il carico
una macchina e poi provare a spingere sono
destinata al fallimento l’unico modo in cui
funziona davvero è quello di tirare i dati da tirare
i lavori fuori dalla coda quando il thread ha
capacità quindi è qualcosa che solo
è solo autodeterminato quindi è carico
bilanciamento che anche tu attraversi Q così
la Q ti isola dagli spuntoni e dal
Q ti dà anche un piccolo carico vero
bilanciamento in modo che sia un vantaggio di
seduto dietro la fila e poi di
Certo che puoi andare a prendere un messaggio
andare e distribuire a più parti
questo è vero per tutti quei messaggi
broker così infrastruttura di messaggistica che
noi che troverete che vi aiuterà
con la tua infrastruttura di micro-servizi
che ti aiuterà a conoscere molte cose
quegli obiettivi operativi questo
broker di messaggi aziendali dopo il servizio
cosa del bus costruiamo l’activemq di IBM MQ
RabbitMQ hanno pubblicato / sottoscritto
da super a robusto e resistente e
in genere consentono il clustering multi-nodo
poi c’è il messaggio più leggero
i mediatori piacciono ai nostri valori o ai nostri simili
trovi su Amazon più limitato
termini di funzionalità o la maggior parte kiddo il MD
Funzionalità di broker Mo vincolo in a
in un certo modo, ma tipo di messa a fuoco su a
compito particolare e poi abbiamo questi
inventare eventi e gesti come le chinasi
come Kafka piace quello che abbiamo un evento
ups che sono fondamentalmente solo pensati per
prendere enormi quantità di dati da milioni
di fonti e catturare il nome
assistente in modo che possano andare ed essere
pubblicati tutti quelli che soddisfano
effettivamente lo stesso ruolo che sto per
andare a prendere arrivare alla sintesi a causa di
il tempo assolve lo stesso ruolo e questo è
essendo il tuo gateway che aumenta il tuo
gateway per il tuo servizio così si siedono
Qui
ci sono mediatori di messaggi che non sono
intelligenti non sono l’ESB che sono lì
puoi andare e impostare una coda qui
puoi creare una coda laggiù
può creare una coda laggiù
quelli che puoi trattare come uno perché loro
non hanno intelligenza che non tocchino
il carico utile giusto sono solo stupidi
tubi e va bene così, ma loro
prendi il traffico per te in modo che tu possa
vai a tirarlo dentro
il nostro servizio ed ed e gestirlo che
puoi soddisfare il tuo operato
obiettivi che non vengono puniti
dallo stress che viene dal
mondo esterno e quello e quello che puoi
vai e assicurati che sia stato un messaggio
catturato in modo affidabile che non si perde mai
quel messaggio non hai mai alcun Delta TM
con HTTP HTTP è sempre ottimo e tutto
questi protocolli sincroni sono sempre
ottimo se hai bisogno di avere un ad hoc
risposta a qualcosa se necessario
sapere spesso basta sapere che il
messaggio è stato inviato al
il messaggio verrà successivamente pubblicato e
è qualcosa che vediamo sempre di più
e tanto più quando pensi a micro
i servizi pensano all’autonomia alla guida
principio secondo pensare a tutto il
diverse opzioni che hai in termini di
protocolli e codifiche perché sono
tutta la parte del tuo arsenale non lo consente
te stesso essere limitato a solo HTTP
e JSON ed è quello che ringrazio
tu
[Applausi]
così ciao il mio nome è Clemens Io lavoro in
Microsoft sono l’architetto per
messaggistica in Microsoft in Azure, così noi
abbiamo alcune cose che eseguiamo in Azure
Sono stato in c’è molto da leggere
non ti preoccupare di essere stato
con nel dopo squadra per nove anni
ora che è divertente perché non c’è
nove anni quindi uno dei primi
servizi che o il primo servizio è
ha celebrato il suo decimo compleanno era al
fine del mese scorso l’ autobus di servizio perché noi
abbiamo avuto la nostra prima uscita pubblica di questo
servizio esattamente 10 anni fa il 31 maggio
2006 quindi siamo stati in giro un bel po ‘
un bel po ‘di tempo e non ho portato il
Bragg scivola ma i nostri messaggi
infrastruttura l’ infrastruttura del broker
che corriamo attualmente corre circa 350
miliardi di transazioni a settimana al mese
l’hub evento ho intenzione di parlare di
evento e gesto anche brevemente attualmente
fa circa tre virgola cinque trilioni
transazioni a settimana, quindi eseguiamo un equo
grande sistema di messaggistica e così messaggistica
è qualcosa che siamo quello che siamo
costruendo come succede da quando sono a
un po ‘più vecchio ho visto il
ciclo ora sto vedendo il ciclo il
la seconda volta vedo questi micro servizi
cosa e io sono come la ragazza in Jurassic
Parcheggiare nel centro di controllo come questo
un sistema unico che conosco questo che ho visto
queste cose ne risultano molte
diapositive che ti mostrerò oggi
sono dodici anni vedremo se
puoi individuare quali sono di loro
sto andando e ho un sacco di diapositive per
così questo sarà molto
materiale ho 70 diapositive quindi vedremo
come possiamo attraversarli e cosa sono
iniziare con è la mia nozione nostra
nozione di servizi e quale servizio
significa perché c’è un modo molto chiaro
capendo che abbiamo servizi e
vedrai anche perché, perché vado a
usa Azure come vetrina per cosa
i servizi significano perché costruiamo un sistema
quello consiste di 80 servizi che sono
tutti i servizi di carico di lavoro che non solo tu
può dipendere ma anche che dipendiamo
dipendono gli uni dagli altri quindi è molto
grande ecosistema di servizi che noi
costruiscici sopra dove costruiamo sopra
l’uno dell’altro quindi non è qualcosa
quello è interno no è qualcosa dove
squadre di carico di lavoro 30 persone 50 persone
in realtà costruendo servizi di carico di lavoro per
tu ma anche per le altre persone da consumare
e questo può funzionare solo con particolari
approccio a come costruiamo questi servizi
Voglio parlarti di questo e anche di questo
voglio parlarti della messaggistica che voglio
per dirti dei protocolli e voglio
per dirti delle scelte e sta andando
per finire in una foto riassuntiva molto semplice
per come puoi andare e strutturare il nostro
servizi e ci penso, quindi cos’è
un servizio questa è la mia definizione è
di proprietà costruita e gestita da un’organizzazione
questo è il primo criterio di definizione per
il servizio è quando parliamo di servizio
è qualcosa di cui si tratta
organizzazioni più che si tratta di
il software riguarda la proprietà di cui parla
autonomia di quell’organizzazione per andare
distribuisci ed esegui cose che il mio team esegue a
servizio e con che cosa significa correre c’è
non è un team operativo noi gestiamo quella cosa noi
costruiscilo noi lo distribuiamo lo eseguiamo secondo
il servizio è responsabile della detenzione
elaborazione e distribuzione particolari
i tipi di informazioni che rientrano nel campo di
un sistema e ha autorità per qualcosa
nel mio caso costruiamo una piattaforma tecnica
servizi costruiamo il servizio di messaggistica
e quel broker di messaggistica ce n’è uno in
quella piattaforma e questa è la nostra autorità
sì, in realtà abbiamo due code
un altro ha uno scopo diverso ma dentro
un’organizzazione che conosci più grande
organizzazione c’è un particolare
servizio che fa un particolare lavoro ora
potrebbero esserci delle sovrapposizioni e lì
saranno alcune sovrapposizioni dovute a
le pratiche giuste le aziende si fondono
poi c’è una cosa che ti chiama
c’è una trappola chiamata
il servizio clienti non c’è nessuno
servizio clienti perché ogni sub
organizzazione ha una nozione diversa di
cos’è un cliente ma per quello
nozione particolare di altri clienti
c’è un servizio come una squadra
lo possiede, ogni servizio può essere costruito e
schierato e gestito in modo indipendente
definiti obiettivi operativi lo faremo
parla anche di questo
comunica con i consumatori e gli altri
servizi che presentano informazioni utilizzando
convenzioni o garanzie contrattuali che
significa che c’è un contratto c’è
accordo su ciò che questo servizio e
come quel servizio comunica il progetto
protegge da accessi indesiderati
alla sicurezza e le sue informazioni contro
perdita c’è sicurezza per i tuoi dati e
gestisce le condizioni di fallimento come
i fallimenti non possono portare a informazioni
corruzione della corruzione quindi è un fallimento
la gestione è parte della definizione che
è il servizio a mio avviso se questo
è micro o macro o qualunque cosa sia
in realtà non importa perché tutto
quelle cose impilano anche il tuo servizio
che hai costruito come una composizione di tutti
i servizi a valle servizi che
tu consumi io ho detto lo scopo di un sistema
andiamo a definire anche questo è un sistema
una Federazione di servizi o altro
i sistemi che mirano forniscono un composito
soluzione per un ambito ben definito a
sistema di prenotazione aerea un video
portale di distribuzione alcuni di quelli
i servizi possono essere condivisi tra gli altri
e questo è vero per i servizi di piattaforma
che è per i servizi di carico di lavoro che
fornire logica di business business così come
il tuo spazio di archiviazione è un servizio che può essere
facilmente condivisibile su molte cose perché
non è un cliente molto specifico
il servizio contro questa è la trappola
improbabile sia il condivisibile attraverso
tutto ciò che non è esattamente questo
organizzazione che ha quel particolare
nozione dei nostri clienti la soluzione
lo scopo per quel servizio potrebbe non esserlo
solo tecnicamente motivato ma anche possibile
essere motivati dalla tecnologia aziendale
cultura del diritto politico e altri criteri così
potresti andare e creare un servizio separato
un servizio a gestione separata che può
consistono in un codice simile che deve essere
correre separatamente da una squadra separata
a causa di requisiti legali a causa di
regolamento a causa di tutti i tipi di esso
non solo requisiti tecnici non solo
requisiti aziendali puri con questo
anche altri requisiti per quello pure
che causa un diverso sistema
installazione in quale ambito nel cui ambito
i servizi funzionano
e un sistema può apparire e agire come un
servizio verso altri servizi così è
come un ufficio piattaforma SAS 365 è un
servizio ma è molto grande
conglomerato di realtà built-in
servizi che non si vedono mai perché è
ha una bella pelle sopra così così
molto per il servizio definizioni non
implica qualcosa di questo nella mia opinione, quindi se
qualcuno dice che puoi fare solo i servizi se
usi la finestra mobile che non ha senso
se usi su di esso puoi fare solo micro
servizi che utilizzano kubernetes
nonsense stesso per JSON o XML o sapone o
riposo o una di quelle cose ora che ha
niente a che fare con il servizio è davvero
qualcosa che parla di organizzazione
come temi e di cui hai parlato
proprietà e questo è qualcosa che è
importante che questa sia l’architettura
implementazione questo è servizi di design
per quanto riguarda l’architettura, in primo luogo ci arriveremo
al pezzo di design in un attimo
prima di ciò lascia che ti avverta di qualcosa
perché quando abbiamo provato quella cosa di servizio
l’ultima volta come 1998 1999 quando noi
si avvicinò con questa nozione di servizio
orientamento ed eravamo un po ‘come noi
Microsoft lavora in prima linea
è successo qualcosa che è venuto alla gente dell’ESB
e hanno incasinato tutto così abbiamo fatto un
buon modo hai fatto un bel po ‘ di
incasinando in tutto questo una storia con W
star specificatamente W security W security
era così complicato che nessuno lo capiva
era terribilmente è terribilmente difficile
implementare in modo da poter vedere perché la gente non ha fatto
come tutto il sapone tutto il sapone
business perché era troppo difficile l’ESB
anche se questo ha reso tutto veramente
terribilmente bene come è diventata la e
su ESB ha avuto molti dollari di marketing
dietro di esso e venditori con acquisito
interessa andare e venderti quella cosa
e vendere che cosa nell’impresa
quindi potresti comprare un prodotto I
non voglio colpire i concorrenti ma
puoi comprare quei prodotti e loro
ora saremo la parte centrale di tutto
della tua integrazione abbastanza interessante
quei venditori ora ti stanno vendendo il
Gateway API che è esattamente lo stesso
cosa così parliamo prendiamone un
guardalo per un momento così che il bus
che stai vendendo l’Enterprise
Il bus di servizio non è un autobus come un hub
tipicamente è per macchine su macchine
per le macchine è da qualche parte nel
angolo e attraverso il quale tutto il
barre di traffico di messaggi che non sono un autobus
questo è un collo di bottiglia nell’azienda
e sempre di più e più aggiungi
ad esso più difficile diventa quella cosa
scala è una realtà del perché io così
fallito in molti è un fallimento in molti di
tu in molte persone è vista perché
è accoppiato a esso è diventato accoppiato a
questa nozione di un ESB, quindi quali sono i
promette le promesse di questi ESB
che hai distribuzioni centralizzate
e config l’ integrazione e tu hai tutto
questi adattatori centralizzano il servizio
governance gestione centralizzata di
instradamento di archivi centralizzati condivisi
tutte le risorse centralizzate meravigliose che puoi
vai a farti girare tutte le leve
in quel posto il dilemma sta bene
scala
e se vuoi davvero avere un sacco di
servizi se gestisci questi dove sei ora
non avere clienti mobili che si presentano
centinaia di migliaia ne hai 80
servizi che devono dipendere da ciascuno
altro se vuoi andare centralmente
gestisci tutte quelle cose che hanno una radice
sta diventando davvero difficile chi è
mantenendo quei quattro server che è
possedere davvero tutte quelle cose che cosa
si trasforma in è l’IT centrale
organizzazione dove devi andare e
presentare una richiesta di modifica per l’ESB di andare
e cambiare un adattatore o cambiare il
configurazione quindi è un’idea orrenda se
lo avevamo fatto in Azure proprio in questo
esempio con tutti i servizi che noi
avere tutte le squadre che abbiamo con
con 5000 6000 ingegneri che stanno lavorando
su chi possiede quel centrotavola chi
possiede quel grande rendezvous in the
cielo che possiede il
server di applicazioni di integrazione che
tutto passa attraverso nessuno può è
troppo difficile in modo che l’intera idea di avere un
ESB di avere questa grande cosa in
quella città nel mezzo del tuo
impresa e che tutti
rhonda busan è un’assurdità e tutto il resto
è un fallimento che è il fallimento di no
della nozione di servizi che è
in realtà il fallimento del concetto di
centralizzazione così i micro servizi sono i
rinascita dei servizi mentre li combattevamo
all’inizio degli anni ’90
esempio migliaia prima di tutto quello ESB
nonsense è successo il gateway API è
esattamente la stessa trappola in modo da non cadere dentro
perché abbiamo fatto un pasticcio
di nuovo quindi tieni presente se qualcuno ti dice che io
voglio avere qui è un centralizzato
gateway API gestito identico
cosa così tanto come una parola di avvertimento
solo perché ora ho un caso studio
Microsoft Azure come facciamo a costruire cose
come li eseguiamo in modo da avere un grande
numero di servizi di caratteristiche che abbiamo
probabilmente 200 servizi complessivamente
compresi quelli interni che penso noi
avere 85 servizi di pubblica utilità che noi
avere nomi individuali e, naturalmente
c’è un sacco di cose nel back-end
questo ci aiuta a gestire il sistema
giusto quanto il Netflix
persone hanno un sacco di servizi che si
mai sapere perché sai che sei
consumando sono loro sono carini
front-end abbiamo molti servizi in
lo sfondo che anche noi stiamo correndo
il così e poi questi sono condivisi
servizi di back-end come una fatturazione come
Pipeline di diagnostica che fa il troll
negli eventi per effettivamente al minuto
e noi siamo tutti team indipendenti
quindi la mia squadra dipende da come contate
50 60 70 persone e stiamo spedendo
completamente indipendente da tutti
altrimenti nessuno non abbiamo bisogno di annunciare a
nessuno che stiamo spedendo non lo facciamo
bisogno di annunciare qualcuno che siamo
patching perché abbiamo stiamo facendo
promette alla nostra gente interna e
stiamo facendo promesse al mondo
chiaro vantaggio che abbiamo come squadra
è che siamo noi abbiamo l’obbligo di
il pubblico perché stiamo spedendo a
servizio pubblico e anche interno
le parti interne fanno affidamento su così abbiamo il
obbligo di aggiornare il sistema che
è di stato è un broker di messaggi
sottocarico che mantiene il mantenimento dello SLA
SLA significa abbiamo bisogno di avere il 99,99% di uptime
Affidabilità del 99,99% grazie all’aggiornamento
processo e questo è qualcosa che noi
solo quello stava facendo una promessa su di noi
devo andare e sostenere che spediamo
caratteristiche e correzioni ogni giorno c’è questo è
dispiegamento in corso tutto il tempo lì
era un tempo in cui i dirigenti
sali sul palco e ti stiamo presentando di sicuro
che c’era una sorta di gruppo di cambiamento
che non esiste più come se ci fosse il bene
schieramenti in corso quando Scott Guthrie
si alza sul palco durante la conferenza di costruzione
che forse solo gli aggiornamenti sono in esecuzione perché
non c’è banda tutto ciò di cui ha bisogno
lavorare
28 più servizi centrali per data center I
pensiamo di essere fino a ben oltre la nostra totale 30
l’impronta del data center è 200 che noi
avere incluso due nodi CDN e cosa
altrimenti facciamo in Microsoft ma indirizzo
attualmente nel ventotto abbiamo il nostro
il servizio ne ha almeno due a volte quattro
a volte più cluster in ognuno di questi
data center e strutture e quelli
i cluster sono tra 16 e 256 macchine
con due o quattro core ciascuno, quindi corriamo
cluster abbastanza grandi in quelle configurazioni
attraverso quei sistemi e quello che fanno è
spostano i messaggi solo in modo intelligente
modo l’unico modo in cui questo può funzionare
quindi ho appena parlato di noi ma di noi
noi il servizio deve vedere la messaggistica
squadra abbiamo federato tutti gli altri così noi
fare affidamento sullo storage ci affidiamo a noi
fare affidamento sulla pipeline di fatturazione che contiamo
su tutti quegli altri servizi così tutti
deve essere in grado di andare e schierare
se stessi tutti hanno bisogno di andare e
avere la stessa agilità e questo è
qualcosa che puoi ottenere solo se
abbiamo i giusti principi, quindi quello che io
detto all’inizio della
definizione che è il nucleo
quei principi e quindi voglio
spiegare di più e come si arriva a quelli
principi come pensiamo a quelli così a
servizio lasciami andare e tuffarmi in più
da una prospettiva concettuale perché
quello conta e questa slide è in realtà
questa diapositiva e questo è qualcosa che
Ho finito sono davvero contento e orgoglioso
di devo dire che questa diapositiva è letteralmente
dodici anni che era giusto allora
è in questo momento e questo è favoloso
cosa avevamo ragione su questo insieme
cosa dodici anni fa riguardo all’autonomia
riguardo a fare questo nella cosa giusta noi
costruita i servizi in modo che questo sia
non è un nuovo movimento questo è dimostrato
principi ed è per questo che sono così
entusiasta dei miei servizi di base, non lo sono
entusiasta del nome in realtà ma io sono
entusiasta del fatto che abbiamo
ripresi i servizi da questo casino che
era l’ESB e stanno riscoprendo il
principi questo è un ciclo che sono davvero
entusiasta di così una proprietà di definizione di
i servizi è che sono autonomi e
quell’autonomia parla della squadra
l’autonomia è l’indipendenza di un servizio
tutto lo stato da cui dipende immediatamente
i manager a cui appartengono tutti i dati
quel servizio e solo a quel servizio
il servizio possiede la sua comunicazione
contratto il proprietario del servizio possiede il
il contratto fa una promessa e se vuole
per fare un cambiamento possiamo farcela
fai un cambiamento ma non c’è un centro
comitato che definisce cosa
il contratto sembra il team di servizio
possiede quel contratto di comunicazione il
il servizio può essere cambiato redeployed o
completamente sostituito in qualsiasi momento
ha un insieme ben noto di comunicazione
percorsi dove si annuncia il
servizio noterà non condividono stato
nessuno stato interno con gli altri e
non esiste un archivio dati comune non c’è
condiviso in memoria con qualsiasi altro
servizi se si fa questo allora tu
non hai un servizio potresti avere una lacrima
ma un altro servizio che sto per raggiungere
livello a due livelli e servizi e livelli in
un momento e non ci può essere nessuna linea laterale
comunicazione quindi parleremo anche e
Ti farò avere una foto in un attimo
cosa significa in termini e perché
questo è male
interdipendenze che il tuo servizio ti possiede
possiede il proprio uptime se si dipende da a
servizio di archiviazione sotto se il tuo
i dati sono archiviati e quel servizio è sparito
questo è colpa tua, perché si dovrebbe
avere una replica di questi dati da qualche parte
altrimenti o almeno si dovrebbe minimizzare il
rischio tale che forse uno dei tuoi
le partizioni vanno giù perché è così
scende laggiù ma dovresti andare
e diffondere il rischio in giro per il tuo
dipendenza downstream in modo che tu possa andare
e stai sveglio e dovresti te se tu
rimani se vai giù , almeno, sii
in anticipo riguardo a ciò e giusto
errori indietro
non solo schiantarti come devi aspettarti
che tutto ciò che è a valle
da te non è disponibile potrebbe non esserlo
disponibile quindi qual è il tuo piano per quando
succede così che sia qualcosa da essere
veramente consapevole di possedere il tuo
fino a non è qualcosa che tu
può andare e incolpare gli altri e
il servizio autonomo onora il proprio
contratti perché puoi essere solo
autonoma se si ha fiducia che
puoi andare e aggiornare e questo significa
hai fatto una promessa nella corrente
versione e ora hai fatto un make
aggiornare bene le altre persone che lo sono
parlare con te non sa del tuo nuovo
funzioni nel tuo nuovo contratto così tu
devo onorare il vecchio e in più
casi c’è un contratto di persone che
va d’accordo con ciò che significa che siamo
andare al tramonto questa API in un anno e
questo è quanto altri avvertimenti
le organizzazioni hanno bisogno e questa è la nostra politica
è per dire che in realtà ti diamo un anno a
vai e cambia le cose e basta
a volte potrebbe anche essere lento quindi sì
può entrare e rapidamente evolvere il tuo
servizi ma è necessario essere tutti sul nostro
contratti arretrati e se si guarda
molti dei servizi che abbiamo
a volte loro realmente sul nostro
Contratta le versioni 2020 indietro perché noi
non possono rompere i bit dei client sono
i bit distribuiti vengono spediti con altri
software in modo da onorare il contratto è il
è il modo in cui consegui l’autonomia
te stesso è qualcosa che tu sei un
disciplina richiesta quindi perché è condivisione
i depositi di dati cattivi lì
un semplice esempio in modo da avere due
servizi e ordinano i dati che hanno
recuperato da una chiave primaria lo passa
su agli altri servi che altro
servizio
ora ci affidiamo allo stesso negozio giusto
i dati di token il problema con quel modello
è che il servizio non può mai andare e dipendere
nell’altro negozio a destra non puoi muoverti
quel servizio all’altro negozio
perché hanno una relazione segreta
con l’altro condividono le chiavi primarie
non possono dover passare i dati
in giro letteralmente quando lo fai
questi due servizi non sono accoppiati perché
è quello perché è uno è uno
negozio non puoi separarlo non puoi
ridimensionalo non puoi dividerlo
non si può fare nessuna delle cose che uno dei
i servizi potrebbero voler fare perché
l’altro dipende da un particolare
relazione con loro quindi questi non lo sono
due servizi questi sono in realtà due
moduli che stanno guardando allo stesso modo
database anche la cosa bella è quella
il disaccoppiamento del data store consente l’evoluzione
il pezzo del contratto non è solo valido per
parlando con te attraverso il servizio
tramite l’ API REST o tramite
messaggistica è anche vero per il
relazione con l’ archivio dati
perché l’archivio dati ha anche un
contratto ha uno schema in modo da avere un
evoluzione che va dove ora
bisogno di avere nuove funzionalità e se tu
hai nuove funzionalità e devi avere
l’ archivio dati cambia bene
l’archivio dati può facilmente cambiare in se
hai separato il negozio così il
scomposizione di servizi da un modello
prende l’applicazione in mezzi di servizio
che stai distruggendo il database
altrimenti non hai i servizi
deve significare che si interrompe il database e
rompendo il database c’è un intero
parlo che mi piacerebbe dare e
questo è probabilmente il discorso di 3 ore
i modelli di dati guardano il tuo database e
e differenziare tra i dati che
è scritto che è letto bene e caldo e
allora hai letto bene una volta e mai
cambia di nuovo
Penso a cosa fanno i dati ci
alcuni dati che puoi facilmente replicare
in tutto il mondo molto facilmente e il
nucleo transazionale è molto piccola in
la maggior parte dei database quindi devi triage
il tuo database con il modello Big Data
170 tavoli o 700 tavoli sono morti se tu
voglio fare anche i servizi
requisiti diversi in termini di scala
e questo è dove abbiamo anche ad a
preoccupazioni a due livelli dopo aver a
servizio che si occupa di front-end
traffico da dispositivi mobili e da a
app mobile che hai appena spedito e tu
avere un servizio di back-end che solo
accetta qualsiasi prenotazione come te
un viaggio un servizio di viaggio il viaggio
il servizio con il catalogo sta per
servire un sacco di richieste quei viaggi
le prenotazioni arriveranno, lo sai
abbastanza raramente quelli hanno completamente
diverse preoccupazioni e scala di scala
puoi andare e costruirli diversamente per te
avere un servizio B servizio P questa diapositiva è
in realtà 15 anni il servizio
diventa troppo stressato cosa fai e
sono tutti seduti sulla stessa macchina
li abbiamo lasciati due macchine
qual è il requisito non condiviso in
stato della memoria non condiviso in memoria
dipendenze tra i due di cui hanno bisogno
per essere autonomo il servizio funziona ancora
caldo quello che fai bene hai diviso
tra macchine così nel caso più semplice
non puoi avere istanza incrociata a
questo è dove la nozione di apolidi
si presenta in cui non si dispone di alcun
interdipendenze tra questi servizi
istanze che non condividono lo stato nel
caso più semplice perché più
i nostri sistemi sofisticati diventano più difficili
ottiene l’elenco dello stato e lo stato
la lista è in realtà solo una bugia per lo più
perché parla della lunghezza del
sessione non parla di nulla
questo sta accadendo in fase di runtime
stateless significa che di solito si fa a
richiesta e dopo tale richiesta
dimentica tutto la lunghezza impostata del
la sessione è una, ma abbiamo sempre di più
sistemi sofisticati dove la lunghezza
della sessione è più lunga di così
cosa stiamo facendo per farlo?
quindi c’è l’infrastruttura che aggiungiamo
per questo oggi
stiamo monitorando il clustering moderno
l’infrastruttura può consentire e facile
failover di condivisione dello stato coerente di
aspetti di proprietà di partizionato
carichi di lavoro uno di questi esempi è
qualcosa che abbiamo nel nostro cloud e
disponibile anche da locali anche in
anteprima per Linux e si chiama
tessuto di servizio e tessuto di servizio è un
clustering fabric ce ne sono molti altri
esempi di dhts
il servire i tavoli hash puoi andare
e trova che può anche andare e replicare
quel tipo di stato tra le macchine ma
Ti darò un esempio di come
tessuto servizio funziona nel nostro sistema così
questa è un’immagine generica di un gateway
che ha un computer statico dietro e
ha un livello di storage dietro si scopre
il nostro servizio che costruiamo il nostro broker
in realtà è sembra che sia così
in questo modo abbiamo un gateway HTTP e
hai la funzione di ricerca che consente
per trovare il proprietario del
secchio uno così il primo questo primo
la freccia gialla in alto implica a
cercare la struttura del cluster che
poi dice che ho bisogno di trovarne uno il proprietario
di una macchina che possiede uno che è
di solito una risoluzione hash lo trova
il posto va e parla ad esso simile cosa
succede quando quel fatidico calcolo
il cluster ora parla al livello di storage
che trova anche quel posto adesso
succede qualcosa che muore in macchina
sistema di cluster automaticamente
cade automaticamente fallisce verso
il secondario che è già stato
innescato conosce tutti i dati che esso
ora viene eletto al nuovo al nuovo
primario e se succede la stessa cosa
sul livello di archiviazione bene lo stesso
il failover accade così è quella roba
ciò accade in questi moderni in questo
tessuti di cluster in cui lo stato di stato è permesso
non esiste più
esattamente stateful va bene perché noi adesso
avere modi per entrare e creare
coerenza tra un grande cluster così
che possiamo andare e scalare quelle cose
fuori perché ci sono problemi che
richiede quell’apolidia nel senso di
Webster, ma è ancora molto facile ma
ci sono carichi di lavoro dove devi andare
e mantenere la proprietà e dove tu
bisogno di mantenere una nozione di ciò che è
cosa e dove è dove era così
in cluster c’è una favolosa chiacchierata
sfortunatamente non ho potuto esserci
non essere registrazioni ma c’è ancora il suo
mazzo di diapositive che è in giro se trovi se
cerchi caratteristiche e ti emette
troverà un fantastico deck pad Helland
ha scritto questo ha detto che è stato favoloso
2000 ora nel dio transazione anni ’90
e ha scritto questo libro che ha scritto
questo mazzo su motivi di festa e
emissari e uno degli aspetti chiave
qui c’è uno intorno all’autonomia dove lui
parla di come pensare all’autonomia
e il rapporto con altri servizi
e un emissario è molto interessante
concetto un emissario è un pezzo di
software che dai a qualcuno con cui parlare
voi e questo è qualcosa che facciamo molto
molto spesso oggi dando agli SDK delle persone
quindi Kafka per esempio ha un privato
protocollo e si riservano il diritto
Infrastruttura di messaggistica di Apache Kafka
questi ci riserviamo il diritto di cambiarlo
il modo in cui aggirano questo intorno
pubblicare il protocollo in modo efficace o
impegnarsi per il protocollo è che loro
spedisci i tuoi pezzi così ti spediscono un SDK
per questo e questo e questo per molti
molte lingue diverse che sono
emissari vedremo di più e
più di questo nello spazio di IOT perché
abbiamo una nozione di edge computer
vuoi andare a spingere il calcolo in
dispositivi che sono seduti a bordo noi
voglio andare e spingere il calcolo a
dispositivi di nebbia che sono in qualche modo seduti
la rete quindi i servizi no
necessariamente tutti si nascondono dietro il loro
confine ma possono inviare poco
agenti software fuori nel mondo che
tipo di lavoro per loro conto e se
vedi cosa fa javascript oggi
browser per conto del back-end
servizio ne hai molti di questi
emissari così
è anche qualcosa che è un vecchio concetto
dimostrato perché lo facciamo sempre
il vantaggio di mantenere questi servizi
autonomo è quello che consentono
servizi di agilità operativa e tutto il
le implementazioni possono essere spostate per
configurato sostituire dietro la tenda
ti stai impegnando in un contratto
impegnarsi a un certo esterno
significa affrontare il contratto significa che si sta impegnando
mentre stai aggiornando mentre stai cambiando
continui a onorare ciò che ti compra
quella sorta di autonomia di agilità anche e
il che significa non condividere i negozi no
condividere tutto ciò che è tipo di
consente anche il downstream del tuo stack
il clustering non ti permette di raggrupparti
non puoi fare partizioni che non puoi fare
clustering non puoi fare a pezzi il tuo
lavorare con ridimensionamento del carico di lavoro se
condividi i negozi se li condividi
infrastruttura a valle con nessuno
altrimenti perché non hai agilità
vai e cambialo è davvero importante
in definitiva riusabilità e adattabilità
è qualcosa che puoi ottenere quando
sei autonomo, quindi l’autonomia è la
principio fondamentale e se si vuole prendere
niente a casa da oggi da questo discorso
l’autonomia è importante che è il
servizio cosa cercano di ottenere così
cosa stiamo cercando di spedire quando spediamo
un servizio andiamo e andiamo avanti
disponibilità della scalabilità di autonomia
coerenza e non ho abbastanza tempo
per andare e definire tutti i modi in
i dettagli lasciano la prevedibilità dell’affidabilità
questo è uno che è facilmente trascurato, ma
qualcuno che in realtà ci ha male abbastanza
un po ‘se noi i messaggi si spostano attraverso il nostro
sistema X millisecondi persone si
davvero arrabbiato se ci vuole di più
millisecondi rispetto ai soliti millisecondi
e se se ne prendessero cinque
secondi per andare e spostare un messaggio in giro
ottengono che ci chiamino è la prevedibilità
mezzi di prevedibilità veramente importanti
devi recidere le risorse da fare
lo stesso lavoro più e più volte c’è
molto da dire sulla multi-tenancy in
il perfetto la meraviglia di esso
ma se hai bisogno di prevedibilità ti serve
avere le risorse disponibili a tutti
volte quindi è qualcosa che è il
punto di design interessante che abbiamo nel nostro
servizio ora una capacità di premio
messaggistica dove abbiamo effettivamente viviamo
risorse ring-fence siamo in Francia CPU
e memoria per i clienti in modo che loro
ottenere sempre la stessa prestazione
non lo facciamo in un multi-tenant
sistema più in quei casi particolari
solo per la sicurezza è la prevedibilità
evidente agilità la capacità di andare e
fai tutti i cambiamenti di cui ho parlato
rischio per la sicurezza della capacità di supporto in caso di catastrofi
costano tutti quelli sono operativi
obiettivi che un team di servizi deve avere
si incontrano e il team di servizio ha tipo in
quello in quelle tutte quelle categorie
avrai queste diapositive per te
può andare e rivedere quelle aree che rende
assicurazioni che è la cosa così fondamentalmente
in tutti quei secchi a cui pensi
ciò che si sta tentando di raggiungere e poi
A questo punto è trasformarla in una garanzia per
i tuoi clienti perché è parte di
costruzione di un servizio e gestione di un servizio
qual è il mio pronostico previsto
prestazione qual è la mia scalabilità giusta
se compri X, ottieni questo e te
andrà e sconto in base a ciò che il tuo
le metriche sono e in pratica ciò che tu
misura che andrai a dare te stesso
qualche wiggle room e poi fare un
l’impegno per questo è la mia affidabilità
questo è il numero di transazioni di volontà
fallire e fallimento della transazione
le transazioni possono essere un po ‘così per
esempio quello che facciamo sui nostri broker è come
Ho detto tre trilioni di transazioni
più vicino a tre trilioni di transazioni su
hub degli eventi a settimana
uscita con affidabilità del 99,99% su migliaia di miliardi
abbiamo molti errori ne abbiamo milioni
errori milioni di errori va bene
perché siamo molto sinceri su
quello che sei non puoi aspettarti la perfezione
fuori di noi perché stiamo eseguendo un sistema
alla scala del dramma ma è qualcosa che tu
bisogno di essere molto chiari e di spunto
con le persone quindi qual è il tuo ciò che è tuo
impegno va bene così tanto su
servizi quindi il servizio è qualcosa che è
davvero un contratto che fai con
altre persone ed è qualcosa che è
sulle organizzazioni non sul codice questo
riguarda i livelli e i livelli dei livelli di codice
un livello è il modo in cui organizzi il codice
avere una nozione dell’interfaccia che hai
una nozione di logica e tu hai una nozione
di accesso alle risorse la ragione per cui noi
introdurre gli strati indietro in sai
ce ne sono molti di questi livelli
modelli MVC è uno ma c’è il
three-tier classic three-tier è uno
ci sono molti di questi livelli di
questi modelli e quei modelli sono
sempre per il trading resilienza tra
quelle preoccupazioni diverse in modo che tu possa andare
e cambia se tu in MVC puoi andare e
gettare la vista senza rompere
tutto il resto giusto in a
app classica a tre livelli che puoi aggiungere
un’altra interfaccia puoi aggiungerne un’altra
modo di comunicazione senza rottura
tutto il resto è possibile sostituire il
database ora sto scherzando non puoi
sostituire il database che molte persone hanno provato
tutti sanno che non puoi, se cambi
il database si può rovinare così il
arrivano le motivazioni ed è anche questo
perché ho quel cerchio proprio dal
fuori è più flessibile dall’interno
e quando si arriva ad accedere alle risorse
quando arrivi al database sei il tuo
il tuo super accoppiato ma fuori
il margine che puoi essere posato può essere molto
coppia più sciolta è dove hai di più
leva piuttosto che nel mezzo
anche questo è un motivo per cui vuoi farlo
mantenere quelle cose autonome che vuoi
se hai bisogno di avere un database importante
cambia tu vuoi limitare l’impatto
a quel servizio che non vuoi andare
e ridisegnare il mondo così va bene
igiene nei vostri sistemi quindi comunicazione
strati strati di risorse e poi il
roba nel mezzo che è ciò che noi
logica di chiamata sono lacrime fantastiche
organizzazione runtime questo è e questo è
dove è qui
Potrei non essere d’accordo con alcune altre persone
chi chiama microservizi cosa
micro-servizi sono solo io ho un chiaro
distinzione tra servizio operativo
assicurazioni contratti squadre e livelli
quali sono le cose che effettivamente ottengono
schierato per me un gateway non è un
servizio il gioco fa parte di un servizio
ma non è un servizio di per sé un HTTP
Il livello API non è un servizio perché
non può non è indipendente dal resto
del sistema di questo del
servizio che hai distribuito il servizio
che tu possiedi per me è un livello e
puoi andare e indipendentemente
schiera i ti si, ma se devi andare
e fai magia magica per andare e farti
sapere di fare una distribuzione di francobolli del tuo
servizio
non puoi rompere nessun altro, ma puoi farlo
sostituire completamente tutti i componenti interni di
è così che le lacrime ti stanno incontrando
obiettivi operativi e questo significa
che il livello Gateway può aumentare in scala
che il livello di back-end può tutto tuo
diverso serve a tutti i diversi
livelli che siedono nel sistema in cui siedono
il tuo servizio potrebbe essere diverso
obiettivi che hanno bisogno di incontrare così io
posso dirti dal nostro servizio da
bus di servizio facciamo un sacco di MPP e HTTP
traffico e un sacco di cripto sul
gateway facciamo un sacco di pesanti competitivi
il lavoro di calcolo potrebbe non sembrare così
ma la messaggistica è piuttosto difficile
un sacco di lavoro di calcolo nel back-end in
il back-end di messaggistica quei due livelli
sono completamente diversi in termini di
caratteristiche e siamo anche come un set
risorse di ring-fencing per i clienti
la prevedibilità del sistema dipende da
il livello di messaggistica ma non spende
così tanto sul Gateway è qui il
Gateway è qui ha completamente
esigenze diverse per memoria e CPU e
networking quindi il livello di messaggistica
quindi li abbiamo separati, non corriamo
li su un singolo set di macchine noi
effettivamente eseguire due cluster che sono
efficacemente legati l’un l’altro e fatti
il servizio e poi ne abbiamo un altro
livello ovviamente che è il livello di archiviazione
sotto di essa noi spezziamo queste cose
in lacrime perché abbiamo bisogno di ridimensionarli
diversamente
e perché usano le risorse di
il sistema in modo diverso e se abbiamo
utilizzo uniforme delle risorse sul nostro
le macchine in realtà aumentano
affidabilità e, nello specifico, in
messaggistica vendiamo affidabilità come a
servizio così il modo in cui questo si materializza come
Ho appena detto che questo gateway è il back-end
memorizzare diversi livelli un servizio così
i livelli riguardano la gestione del codice
livelli della nostra gestione del tempo di esecuzione e
servizi davvero di proprietà che è
quella foto che ha una testa ora lo prometto
comunicazione che abbiamo 10 minuti fa
proviamo questo messaggio di comunicazione
è tutto su come spostiamo le informazioni
tra i sistemi e questo è qualcosa
è molto importante per parlare
servizi perché i servizi sono collegati in rete
entità quindi parliamo di come
la messaggistica si materializza è la messaggistica
su come ottenere dati da A a B e viceversa
a volte non sempre a volte c’è un
molto di qui quindi hai molti clienti
bisogna fare i conti con qualche volta
mostrare tutti allo stesso tempo a volte
loro mostrano che a volte ti gocciolano
hai enormi quantità di dati che tu
bisogno di andare e affrontare a volte quello
permette loro sono lì è necessario
invia un messaggio che devi ottenere
messaggio a molte persone ne abbiamo uno
servizio chiamato hub di notifica
così abbiamo fatto anche ciò che è specificamente
costruito per il problema di diciamo il
Giochi olimpici o organizzazioni di notizie
che vogliono andare e inviare un byte di notizie
ma è necessario portarlo a 15 milioni di telefoni
entro pochi secondi a volte il
le destinazioni sono tutte diverse così noi
in realtà bisogno di andare e differenziare
a volte la destinazione non sta pagando
attenzione o non puoi quindi devi fare
qualcosa da fare e tu sai avere un
piccola cassetta postale per questo a volte il
la destinazione è super affollata, quindi lo farà
ti butto un 503 se cerchi di mantenere
solleticandolo ea volte è solo così
appena morto e tu non sai cosa sia
ci devono essere risposte a quelli
i problemi
HTTP che tutti usiamo ed è il de
default di fabbrica per tutti i micro servizi
non risponde ad alcune di queste domande
quindi andiamo un po ‘oltre e
tipo di pensare a quale protocollo
i requisiti possono essere e quali sono le cose
e cosa significano quei termini
client e server
cosa è client e cosa è client server
e il server in definitiva descrive solo chi
rende la connessione iniziale hai a
rete qualcuno sta ascoltando e
qualcuno sta connettendo che è client e
il server risulta in molti e in HTTP è così
accoppiato a destra
l’ intera nozione di chi può fare un
richiesta e chi può andare a chiedere a qualcuno
altrimenti è completamente abbinato a chi
rende la riconnessione del cliente che è
non è vero da nessun altro protocollo
restiamo con client e server come
solo la festa che sta ascoltando
messa in rete del partito che si sta connettendo
che è utile per molti scenari se noi
pensa che tu sappia che hai un cliente
che ha bisogno di connettersi da un
ambiente che è protetto da firewall e
anatta lui tutto ma tu vuoi ancora
per tornare a loro
dal lato del server bit di destra no
sarebbe bello se fosse possibile e
disconnesso dal fatto chi è
connettersi e connettersi e così via
client o server è solo il
direzione della connettività di rete quindi
c’è la direzionalità di questo
la connessione è simplex solo a senso unico
alcuni protocolli lo fanno o sono duplex
permettendo il flusso di dati in entrambi
direzione iniziata da entrambe le direzioni
questa è una preoccupazione separata, quindi c’è
simmetria AMQP di cui apprenderemo in
un secondo è un protocollo simmetrico qualsiasi
il contenuto delle due parti collegate può
fare tutto ciò che gli piace è definito in
il protocollo in ogni momento tranne
connesso quando è connesso
stabilito è completamente simmetrico HTTP è
non simmetrico perché solo loro
la parte di connessione può emettere richieste in tal senso
è stato un po ‘rilassato in HTTP
– ma non sono quelli non simmetrici
protocolli 8mn qtt amici un altro
anche il protocollo di messaggistica non è simmetrico
perché ci sono cose specifiche
solo il cliente può fare
multiplexing a volte sarebbe bello
essere in grado di andare e utilizzare lo stesso socket
per due richieste contemporaneamente HDPE
non può hb2 può perché ha aggiunto
multiplexing perché non c’è c’era
la consapevolezza che potrebbe essere bello
prendi quel costoso HTTP ssl / tls
socket che è stato stabilito e
riutilizzato invece di farne molti
più per piccoli carichi utili che inquadrano cosa
quei protocolli fanno è inquadrare il
dati per noi e poi prendiamo dati e noi
codificalo sopra quel jason avro
message pack xml MPP ha il suo
codifica CSV MPEG testo non elaborato ci sta bene
scelte per tutti per tutti i tipi di
carichi di lavoro Avro è un fantastico fantastico
fantastico formato per codificare le serie storiche
dati è binario c’è extra
compressione con cui porta lo schema
è incredibilmente molto ma e ha
sistema di tipo migliore di Jason proprio il
il mondo non è il motivo per Jason
perché HTTP ha un tipo di contenuto e perché mqp
ha un tipo di contenuto è che puoi andare
e arrivare a scegliere quello che stai andando
vai e trasferisci devi solo essere
in anticipo su cosa supporti e poi
ci sono metadati che vuoi dire alla gente
di quello che vuoi dire all’altra parte
su ciò che questo messaggio contiene HTTP
ha avuto tre intestazioni definibili in QPS
Intestazioni e utt definibili di Frieda
abbastanza intercellulare abbastanza non ha
quindi devi andare e maneggiare tutto questo
informazioni nel percorso dell’argomento che
tipo di rende un po ‘strano o hai bisogno
per avere accordi di out-of-band tutta
quelli così così in questo contesto del
contesto e servizio di comunicazione è a
artefatto riutilizzabile che può accedere a
accesso attraverso canali ben definiti da
qualche contesto di interfaccia così è
le comunicazioni si concentrano proprio su questo
vantaggio e si sta concentrando su quel contratto
e che puoi farlo aderire ad a
particolare contratto abbastanza interessante
non
nessun singolo meccanismo di comunicazione si adatta
tutti gli usi quindi cercano di adattarsi a tutto
nella minaccia di riposo cercando di adattarsi
tutto in HTTP non lo è
aiutare ma è controproducente per
molti percorsi e cercando di fare tutto
in JSON è anche controproducente noi
avere la flessibilità in questo nel
stack per andare effettivamente e usare diversi
formati per scopi diversi che hai
un insieme che è il contratto il
il servizio ha una superficie composita
questo è il contratto che devi imparare
anche qui ma che può essere composto da
più canali e può essere composto
di molteplici modi di come si va a qualsiasi codice
dati quindi sarò il cinque assoluto
minuti posizione trasparenza bene cosa
Ho appena ucciso, va bene?
la trasparenza della posizione significa che tu
non è davvero molto facile
non date alle persone l’ indirizzo diretto
al tuo servizio ti nascondi almeno
un livello di riferimento indiretto se si dà
qualcuno si dà a qualcuno un nome DNS che
quindi esegue la mappatura su dove effettivamente si trova il tuo servizio
si siede perché altrimenti non puoi muoverti
il servizio ci sono situazioni che
abbiamo avuto nel nostro nel nostro mondo dove noi
ha dovuto letteralmente sostituire i gruppi di taglio in
prendendo i dati del cliente e copiando
nel nuovo cluster perché il nostro
i cambiamenti dello schema erano radicali e abbiamo avuto
per andare abbiamo fondamentalmente l’attuazione di
pezzi in modo che tipo di fatto una copia in
nuovo cluster copia continua nel nuovo
tipo di cluster di mantenere il sistema
coerente e che ha fatto un DNS forzato
passaggio di tutti così abbiamo fatto noi
ribaltato abbiamo chiamato il record DNS
azzerare il TTL in modo efficace in a
la strada a gradini portò giù il vecchio ammasso
base hai tagliato la connessione di tutti
tutti hanno capito che tutti hanno fallito
preso il nuovo record DNS
funziona davvero perché molte sette lo sono
bene su TTL e poi ho avuto tutti
sul nuovo stack così e l’unico
il modo in cui posso farlo è avere un ulteriore
astrazione utilizzando DNS per la posizione
trasparenza
saprete tutto questo si sa tutto questo
sì, quindi voglio dire che è ovvio che TCP
è un flusso e un villaggio dovrei avere
tagliare quelle diapositive mi rendo conto che va bene così
ogni servizio può essere raggiunto almeno
attraverso un canale ma può avere
canali multipli e il bordo
è effettivamente l’utente dei servizi
interfaccia se hai ragione così tu
puoi avere puoi avere multipli multipli
interfacce al tuo servizio e questo è
tutto bene così nell’interesse del tempo
arriviamo ai protocolli per iniziare
parliamo in modo efficace come siamo
ora informato su di loro che cos’è HT p11
HP consente solo la risposta alla richiesta
il modello non è simmetrico non consente
il multiplexing consente la codifica variabile così
è grandioso
e consente ai metadati di non darti
assicurazioni se e quando il messaggio
arriva da qualche parte
WebSockets non è un protocollo, bensì è un
protocollo ma è tunnel per lo più se
stai creando se dici che io uso
WebSockets quindi la domanda è cosa sono
hai intenzione di mettere in cima alla
WebSockets musicals WebSockets è un
protocollo di framing e questo è tutto ciò che fa
quindi qualsiasi cosa tu faccia su WebSockets se
non stai usando niente che sia un
protocollo che è sovrapposto a WebSockets
allora stai usando qualcosa che è
proprietario perché è solo un tunnel
è un trucco per arrivare a un 443, ma è così
non un protocollo di per sé che dà
sei un socket crudo quindi se fai qualcosa
appena sopra WebSockets che hai appena creato
il tuo piccolo protocollo HT proprietario
è un CP come lo conosciamo più
multiplexing più intestazione binaria
la compressione non è più molto semplice
protocollo SHP quando uno era e se HP due
era venuto prima l’adozione di quello
sarebbe avere molto poco, ma ora
questa cosa ha un sacco di adozione molto
grandi aziende dietro di esso e il browser
fornitori e tutti i fornitori di server Web
sai che puoi colludere e puoi andare a fare
qualcosa che è complicato ma è così
efficacemente ciò che noi
e ha una nuova caratteristica speciale
un canale di comunicazione unidirezionale che
consente al server di andare e inviare dati
back coop è un protocollo che sentirai di più
circa nel contesto di IOT in Internet
di cose che è molto simile a HTTP
interessante è un simmetrico così qualsiasi
il sito può andare nella richiesta iniziale e lo è
super-super-super-piccolo ed è essere
usato oggi per andare a gestire tutto il resto
dei tuoi telefoni cellulari è così il tuo
i telefoni cellulari comunicano almeno in
le tue implementazioni il protocollo lwm 10
che viene utilizzato per la gestione dei dispositivi
sentirai di più su questo se lo sei
coinvolto nel cellulare o se lo sei
coinvolto in IOT e poi c’è MQTT
un protocollo di sottoscrizione editoriale di
i protocolli di messaggistica che è grande
per comunicare la telemetria ideale per
comunicare piccoli bit di piccoli bit
di dati e poi c’è l’MPP
protocollo che è un protocollo di messaggistica
che tipo di si siede su siede un po ‘
sopra MQTT in termini di capacità esso
supporta il multiplexing che MQTT non ha
è completamente simmetrico MQTT MQTT
non solo quei due protocolli AMQP e
I MQTT sono i due candidati se non lo fai
usa HTTP e due candidati per
messaggistica asincrona con un broker in
al centro puoi fare tutti i tipi di
cose aggiuntive interessanti e io sono
già nel tempo ho intenzione di prendere
altri tre minuti di livellamento del carico
il servizio si blocca c’è un sacco di web
server qui che prendono il traffico che hai
una coda c’è molto traffico che è
in arrivo e tutto che atterra nel
fare la fila la cosa bella è se hai un
servizio che si trova dietro a questi e ad esso
ora tira da una coda che lo sottolinea
arriva sul web non scende
nel tuo servizio perché fai una spinta
per tirare traduzione attraverso la coda si
ti dà il livellamento del carico che ottieni
vero un po ‘di equilibrio tutto il carico
i bilanciatori sono bilanciatori di carico HTP
in realtà mentendo a te è una bugia
sta mentendo perché non lo fa
considera il carico del tutto solo spray
tutti i meccanismi che permettono che cercano di fare
bilanciamento del carico misurando il carico
una macchina e poi provare a spingere sono
destinata al fallimento l’unico modo in cui
funziona davvero è quello di tirare i dati da tirare
i lavori fuori dalla coda quando il thread ha
capacità quindi è qualcosa che solo
è solo autodeterminato quindi è carico
bilanciamento che anche tu attraversi Q così
la Q ti isola dagli spuntoni e dal
Q ti dà anche un piccolo carico vero
bilanciamento in modo che sia un vantaggio di
seduto dietro la fila e poi di
Certo che puoi andare a prendere un messaggio
andare e distribuire a più parti
questo è vero per tutti quei messaggi
broker così infrastruttura di messaggistica che
noi che troverete che vi aiuterà
con la tua infrastruttura di micro-servizi
che ti aiuterà a conoscere molte cose
quegli obiettivi operativi questo
broker di messaggi aziendali dopo il servizio
cosa del bus costruiamo l’activemq di IBM MQ
RabbitMQ hanno pubblicato / sottoscritto
da super a robusto e resistente e
in genere consentono il clustering multi-nodo
poi c’è il messaggio più leggero
i mediatori piacciono ai nostri valori o ai nostri simili
trovi su Amazon più limitato
termini di funzionalità o la maggior parte kiddo il MD
Funzionalità di broker Mo vincolo in a
in un certo modo, ma tipo di messa a fuoco su a
compito particolare e poi abbiamo questi
inventare eventi e gesti come le chinasi
come Kafka piace quello che abbiamo un evento
ups che sono fondamentalmente solo pensati per
prendere enormi quantità di dati da milioni
di fonti e catturare il nome
assistente in modo che possano andare ed essere
pubblicati tutti quelli che soddisfano
effettivamente lo stesso ruolo che sto per
andare a prendere arrivare alla sintesi a causa di
il tempo assolve lo stesso ruolo e questo è
essendo il tuo gateway che aumenta il tuo
gateway per il tuo servizio così si siedono
Qui
ci sono mediatori di messaggi che non sono
intelligenti non sono l’ESB che sono lì
puoi andare e impostare una coda qui
puoi creare una coda laggiù
può creare una coda laggiù
quelli che puoi trattare come uno perché loro
non hanno intelligenza che non tocchino
il carico utile giusto sono solo stupidi
tubi e va bene così, ma loro
prendi il traffico per te in modo che tu possa
vai a tirarlo dentro
il nostro servizio ed ed e gestirlo che
puoi soddisfare il tuo operato
obiettivi che non vengono puniti
dallo stress che viene dal
mondo esterno e quello e quello che puoi
vai e assicurati che sia stato un messaggio
catturato in modo affidabile che non si perde mai
quel messaggio non hai mai alcun Delta TM
con HTTP HTTP è sempre ottimo e tutto
questi protocolli sincroni sono sempre
ottimo se hai bisogno di avere un ad hoc
risposta a qualcosa se necessario
sapere spesso basta sapere che il
messaggio è stato inviato al
il messaggio verrà successivamente pubblicato e
è qualcosa che vediamo sempre di più
e tanto più quando pensi a micro
i servizi pensano all’autonomia alla guida
principio secondo pensare a tutto il
diverse opzioni che hai in termini di
protocolli e codifiche perché sono
tutta la parte del tuo arsenale non lo consente
te stesso essere limitato a solo HTTP
e JSON ed è quello che ringrazio
tu
[Applausi]
Please follow and like us: