Ridurre la latenza vuol dire aumentare sensibilmente le performance della propria applicazione. In questo articolo riportiamo l’esperienza degli ingegneri di Linkedin che potresti utilizzare anche per le tue applicazioni.
Rest.li: un framework open source per le comunicazioni REST
La piattaforma Linkedin impiega, come tantissime altre moderne, un’architettura a Microservizi ed il formato JSON come strumento di serializzazione e scambio di dati tra le decine di migliaia di endpoint.
Al fine di costruire interazioni consistenti tra i vari Microservizi, gli ingegneri di Linkedin hanno sviluppato un proprio framework basato su Java, Rest.li che, successivamente, hanno reso open source.
Rest.li pemette di realizzare comunicazioni client-server in stile REST che semplificano molti aspetti come il data exchange, il networking, il service discovery e la serializzazione dei dati. Nato per supportare Java e Python, Rest.li può lavorare bene anche con Scala, Kotlin, Javascript e Go.
Adottando JSON, gli ingegneri si sono resi conto che quello che normalmente è un pregio del formato JSON, vale a dire la possibilità di grande compatibilità e di essere facilmente “leggibile” dalle persone, per una piattaforma con miliardi di interazioni diventava un difetto per l’aumentato utilizzo della banda e l’elevata latenza per via delle operazioni di serializzazione e deserializzazione.
Contattaci subito e senza impegno per costruire microservizi.
Da JSON a Protocol Buffers
Dopo diversi test, Linkedin ha adottato Protocol Buffers, un meccanismo neutrale dal punto di vista del linguaggio e della piattaforma per serializzare dati strutturati.
Protocol Buffers permette di scambiare dati tra Microservizi in maniera più efficiente di JSON ed unito al framework Rest.li ha ridotto la latenza di ben il 60% e contestualmente ha migliorato l’utilizzo delle risorse. In poche parole sono aumentate le performance abbattendo i costi.
Contattaci subito e senza impegno per implementare Protocol Buffers nelle tue applicazioni.
Miglioramento continuo: un processo strategico
L’esperienza di Linkedin dimostra come un processo di miglioramento continuo sia strategico e permetta di efficientare performance e costi. Linkedin ha anche già comunicato che sta pianificando di passare da Rest.li a gRPC, un framework largamente utilizzato che oltre a supportare Protocol Buffers supporta anche lo streaming di dati tra microservizi.
Contattaci subito e senza impegno per implementare gRPC nei tuoi Web Services.
Glue Labs e le Architetture a Microservizi
Utilizziamo architetture a Microservizi dalla loro nascita, abbiamo progettato ed implementato architetture complesse ed integrate grazie a Cloud Engineer e Solution Architect in ambienti Offline, On-Premise e Cloud.
Grazie alle competenze specialistiche maturate in tantissimi settori e con numerosi Clienti ti forniamo assistenza e supporto, eroghiamo formazione avanzata e realizziamo architetture che ti permettono di gestire i tuoi dati in maniera resiliente, efficiente e con garanzia 12 mesi da qualsiasi bug. Contattaci subito e senza impegno per maggiori informazioni.