Mikropalvelujen tiedonsiirron tehokkuus : vertailussa REST ja JSON sekä gRPC ja Protocol Buffers
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.
...
This thesis discusses using the gRPC protocol and the Protocol Buffers message
format in a microservices environment especially from the performance point of view. It contains a literary review of other articles in the field. The thesis also describes a test performed
with the Go programming language.
Based on the literary review, gRPC and Protocol Buffers may double the speed of data transfer and bring down the size of the data that’s transmitted. On the other hand, it is possible to
speed up the JSON and REST technique by using a JSON library best suited for the use case
and by using Gzip compression in the REST API. Sometimes it can also be preferable to use
a dedicated messaging protocol tailored for the system. This, however, makes co-operation
with other systems difficult. Using a message queue may also be a good alternative, especially if there’s a need to balance the load, but adds some complexity.
In the original research gRPC and Protocol Buffers turned out to be a good choice for a microservices based system used for reading IoT messages with the OPC UA protocol and then
transmitting them over a network to another microservice. For a case where both microservices were run on the same computer, JSON and REST turned out to be a slightly faster alternative.
...
Asiasanat
Metadata
Näytä kaikki kuvailutiedotKokoelmat
- Pro gradu -tutkielmat [29743]
Lisenssi
Samankaltainen aineisto
Näytetään aineistoja, joilla on samankaltainen nimeke tai asiasanat.
-
Joint Power Allocation and Link Selection for Multi-Carrier Buffer Aided Relay Network
Jabeen, Tayyaba; Ali, Zain; Khan, Wali Ullah; Jameel, Furqan; Khan, Imran; Sidhu, Guftaar Ahmad Sardar; Choi, Bong Jun (MDPI, 2019)In this paper, we present a joint power allocation and adaptive link selection protocol for an orthogonal frequency division multiplexing (OFDM)-based network consists of one source node i.e., base station (BS), one ... -
Optimal Buffer Resource Allocation in Wireless Caching Networks
Liu, Tingting; Chang, Zheng; Li, Jun; Shu, Feng; Ristaniemi, Tapani; Han, Zhu (IEEE, 2019)Wireless caching systems have been exhaustively investigated in recent years. Due to limited buffer capacity, and unbalanced arrival and service rates, the backlogs may exist in the caching node and even cause buffer ... -
Cooperative spectrum sensing schemes for future dynamic spectrum access infrastructures
Abdi Mahmoudaliloo, Younes (University of Jyväskylä, 2016) -
Studies on high speed uplink packet access performance enhancements
Laakso, Frans (University of Jyväskylä, 2014) -
Revisiting the buffers of job insecurity : investigating new buffering factors between perceived job insecurity and employee outcomes
Cheng, Ting (University of Jyväskylä, 2013)
Ellei toisin mainittu, julkisesti saatavilla olevia JYX-metatietoja (poislukien tiivistelmät) saa vapaasti uudelleenkäyttää CC0-lisenssillä.