Il full-text non è disponibile per scelta dell'autore.
(
Contatta l'autore)
Abstract
Il progetto è incentrato sulla modernizzazione architetturale e sul re-engineering dei servizi di misurazione della latenza in una rete anycast. Il sistema preesistente, basato su architettura PhP/Apache e script di fan-out Python, soffriva di limitazioni prestazionali, elevato overhead di CPU/memoria, una bassa affidabilità di risposta ed eccessiva rigidità nella gestione dell’I/O concorrente. Il progetto ha coinvolto la riscrittura di due sotto-servizi principali.
Il servizio di downstream, incaricato di calcolare la latenza tra il server stesso e la macchina specificata in input, originariamente scritto in PhP è stato riprogettato in Go, adottando i principi della Clean Architecture e un design basato su design pattern, massimizzando l’affidabilità della risposta. Il servizio di upstream, responsabile dell’aggregazione dei dati raccolti dalle interrogazioni dei server di downstream, era originariamente scritto in PhP e Python ed è stato anch’esso riscritto in Go, sfruttando il modello di concorrenza nativo del linguaggio (goroutine e channel) per superare
la rigidit`a nella gestione dell’I/O concorrente riscontrata nel sistema preesistente. Infine è stata sviluppato il codice per l’integrazione dei servizi backend con la piattaforma aziendale.
Il nuovo sistema è stato validato confrontandolo con l’architettura preesistente, mostrando un miglioramento dell’affidabilità del servizio e una riduzione dell’utilizzo di memoria sui server di dispiegamento.
Il lavoro ha incluso inoltre la progettazione di un’interfaccia utente modernizzata per il nuovo applicativo.
Abstract
Il progetto è incentrato sulla modernizzazione architetturale e sul re-engineering dei servizi di misurazione della latenza in una rete anycast. Il sistema preesistente, basato su architettura PhP/Apache e script di fan-out Python, soffriva di limitazioni prestazionali, elevato overhead di CPU/memoria, una bassa affidabilità di risposta ed eccessiva rigidità nella gestione dell’I/O concorrente. Il progetto ha coinvolto la riscrittura di due sotto-servizi principali.
Il servizio di downstream, incaricato di calcolare la latenza tra il server stesso e la macchina specificata in input, originariamente scritto in PhP è stato riprogettato in Go, adottando i principi della Clean Architecture e un design basato su design pattern, massimizzando l’affidabilità della risposta. Il servizio di upstream, responsabile dell’aggregazione dei dati raccolti dalle interrogazioni dei server di downstream, era originariamente scritto in PhP e Python ed è stato anch’esso riscritto in Go, sfruttando il modello di concorrenza nativo del linguaggio (goroutine e channel) per superare
la rigidit`a nella gestione dell’I/O concorrente riscontrata nel sistema preesistente. Infine è stata sviluppato il codice per l’integrazione dei servizi backend con la piattaforma aziendale.
Il nuovo sistema è stato validato confrontandolo con l’architettura preesistente, mostrando un miglioramento dell’affidabilità del servizio e una riduzione dell’utilizzo di memoria sui server di dispiegamento.
Il lavoro ha incluso inoltre la progettazione di un’interfaccia utente modernizzata per il nuovo applicativo.
Tipologia del documento
Tesi di laurea
(Laurea)
Autore della tesi
Foschi, Gioele
Relatore della tesi
Correlatore della tesi
Scuola
Corso di studio
Ordinamento Cds
DM270
Parole chiave
Go,Concorrenza,Parallelismo,Rete Anycast,Microservizi,Docker,Test Driven Development
Data di discussione della Tesi
1 Ottobre 2026
URI
Altri metadati
Tipologia del documento
Tesi di laurea
(NON SPECIFICATO)
Autore della tesi
Foschi, Gioele
Relatore della tesi
Correlatore della tesi
Scuola
Corso di studio
Ordinamento Cds
DM270
Parole chiave
Go,Concorrenza,Parallelismo,Rete Anycast,Microservizi,Docker,Test Driven Development
Data di discussione della Tesi
1 Ottobre 2026
URI
Gestione del documento: