Mikropalvelujen tiedonsiirron tehokkuus : vertailussa REST ja JSON sekä gRPC ja Protocol Buffers - Patana, Kari (2020)
Tutkielmassa selvitetään gRPC-protokollan sekä Protocol Buffers -viestimuodon soveltuvuutta mikropalveluympäristöön etenkin tehokkuuden näkökulmasta. Tutkielma sisältää kirjallisuuskatsauksen muuhun aihealueen tutkimukseen. Lisäksi tutkielma käsittää Go- ohjelmointikielellä suoritetun kokeen. Kirjallisuuskatsauksen perusteella gRPC ja Protocol Buffers voivat nopeuttaa tiedonsiirron nopeutta noin kaksinkertaiseksi sekä vähentää siirrettävän datan määrää. Toisaalta perinteistä JSON ja REST -tekniikkaa on mahdollista nopeuttaa käyttämällä tilanteeseen sopivaa JSON-kirjastoa sekä pakkaamalla REST-rajapinnan data Gzip-menetelmällä. Lisäksi joissain tilanteissa voi olla tehokkainta käyttää erityisesti käyttöympäristöön laadittua viestiprotokollaa. Tämä kuitenkin tekee yhteistoiminnan muiden järjestelmien kanssa hankalaksi. Myös viestijonoihin perustuva viestintäkanava voi olla hyvä ratkaisu etenkin kuorman tasaukseen mutta lisää kompleksisuutta. Omassa tutkimuksessa gRPC ja Protocol Buffers osoittautuivat hyväksi valinnaksi mikropalveluista koostuvaan järjestelmään, jossa luetaan OPC UA -protokollalla IoT-dataa ja välitetään sitä verkon yli toiselle mikropalvelulle. Sen sijaan samalla koneella toimivien mikropalvelujen väliseen tiedonsiirtoon JSON ja REST olivat hieman nopeampi vaihtoehto.