fullrecord |
[{"key": "dc.contributor.advisor", "value": "Viinikainen, Ari", "language": "", "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.author", "value": "Patana, Kari", "language": "", "element": "contributor", "qualifier": "author", "schema": "dc"}, {"key": "dc.date.accessioned", "value": "2020-11-24T11:03:05Z", "language": null, "element": "date", "qualifier": "accessioned", "schema": "dc"}, {"key": "dc.date.available", "value": "2020-11-24T11:03:05Z", "language": null, "element": "date", "qualifier": "available", "schema": "dc"}, {"key": "dc.date.issued", "value": "2020", "language": "", "element": "date", "qualifier": "issued", "schema": "dc"}, {"key": "dc.identifier.uri", "value": "https://jyx.jyu.fi/handle/123456789/72777", "language": null, "element": "identifier", "qualifier": "uri", "schema": "dc"}, {"key": "dc.description.abstract", "value": "Tutkielmassa selvitet\u00e4\u00e4n gRPC-protokollan sek\u00e4 Protocol Buffers -viestimuodon\nsoveltuvuutta mikropalveluymp\u00e4rist\u00f6\u00f6n etenkin tehokkuuden n\u00e4k\u00f6kulmasta. Tutkielma sis\u00e4lt\u00e4\u00e4 kirjallisuuskatsauksen muuhun aihealueen tutkimukseen. Lis\u00e4ksi tutkielma k\u00e4sitt\u00e4\u00e4 Go-\nohjelmointikielell\u00e4 suoritetun kokeen.\nKirjallisuuskatsauksen perusteella gRPC ja Protocol Buffers voivat nopeuttaa tiedonsiirron\nnopeutta noin kaksinkertaiseksi sek\u00e4 v\u00e4hent\u00e4\u00e4 siirrett\u00e4v\u00e4n datan m\u00e4\u00e4r\u00e4\u00e4. Toisaalta perinteist\u00e4 JSON ja REST -tekniikkaa on mahdollista nopeuttaa k\u00e4ytt\u00e4m\u00e4ll\u00e4 tilanteeseen sopivaa\nJSON-kirjastoa sek\u00e4 pakkaamalla REST-rajapinnan data Gzip-menetelm\u00e4ll\u00e4. Lis\u00e4ksi joissain tilanteissa voi olla tehokkainta k\u00e4ytt\u00e4\u00e4 erityisesti k\u00e4ytt\u00f6ymp\u00e4rist\u00f6\u00f6n laadittua viestiprotokollaa. T\u00e4m\u00e4 kuitenkin tekee yhteistoiminnan muiden j\u00e4rjestelmien kanssa hankalaksi. My\u00f6s viestijonoihin perustuva viestint\u00e4kanava voi olla hyv\u00e4 ratkaisu etenkin kuorman\ntasaukseen mutta lis\u00e4\u00e4 kompleksisuutta.\nOmassa tutkimuksessa gRPC ja Protocol Buffers osoittautuivat hyv\u00e4ksi valinnaksi mikropalveluista koostuvaan j\u00e4rjestelm\u00e4\u00e4n, jossa luetaan OPC UA -protokollalla IoT-dataa ja v\u00e4litet\u00e4\u00e4n\nsit\u00e4 verkon yli toiselle mikropalvelulle. Sen sijaan samalla koneella toimivien mikropalvelujen v\u00e4liseen tiedonsiirtoon JSON ja REST olivat hieman nopeampi vaihtoehto.", "language": "fi", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.abstract", "value": "This thesis discusses using the gRPC protocol and the Protocol Buffers message\nformat 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\nwith the Go programming language.\nBased on the literary review, gRPC and Protocol Buffers may double the speed of data transfer and bring down the size of the data that\u2019s transmitted. On the other hand, it is possible to\nspeed up the JSON and REST technique by using a JSON library best suited for the use case\nand by using Gzip compression in the REST API. Sometimes it can also be preferable to use\na dedicated messaging protocol tailored for the system. This, however, makes co-operation\nwith other systems difficult. Using a message queue may also be a good alternative, especially if there\u2019s a need to balance the load, but adds some complexity.\nIn 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\ntransmitting 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.", "language": "en", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted by Paivi Vuorio (paelvuor@jyu.fi) on 2020-11-24T11:03:05Z\nNo. of bitstreams: 0", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Made available in DSpace on 2020-11-24T11:03:05Z (GMT). No. of bitstreams: 0\n Previous issue date: 2020", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.format.extent", "value": "78", "language": "", "element": "format", "qualifier": "extent", "schema": "dc"}, {"key": "dc.format.mimetype", "value": "application/pdf", "language": null, "element": "format", "qualifier": "mimetype", "schema": "dc"}, {"key": "dc.language.iso", "value": "fin", "language": null, "element": "language", "qualifier": "iso", "schema": "dc"}, {"key": "dc.rights", "value": "In Copyright", "language": "en", "element": "rights", "qualifier": null, "schema": "dc"}, {"key": "dc.subject.other", "value": "mikropalvelu", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "go", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "gRPC", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "protocol buffers", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "ProtoBuf", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "REST", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "OPC UA", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.title", "value": "Mikropalvelujen tiedonsiirron tehokkuus : vertailussa REST ja JSON sek\u00e4 gRPC ja Protocol Buffers", "language": "", "element": "title", "qualifier": null, "schema": "dc"}, {"key": "dc.type", "value": "master thesis", "language": null, "element": "type", "qualifier": null, "schema": "dc"}, {"key": "dc.identifier.urn", "value": "URN:NBN:fi:jyu-202011246740", "language": "", "element": "identifier", "qualifier": "urn", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Pro gradu -tutkielma", "language": "fi", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Master\u2019s thesis", "language": "en", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Informaatioteknologian tiedekunta", "language": "fi", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Faculty of Information Technology", "language": "en", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Informaatioteknologia", "language": "fi", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Information Technology", "language": "en", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "Jyv\u00e4skyl\u00e4n yliopisto", "language": "fi", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "University of Jyv\u00e4skyl\u00e4", "language": "en", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Tietotekniikka", "language": "fi", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Mathematical Information Technology", "language": "en", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "yvv.contractresearch.funding", "value": "0", "language": "", "element": "contractresearch", "qualifier": "funding", "schema": "yvv"}, {"key": "dc.type.coar", "value": "http://purl.org/coar/resource_type/c_bdcc", "language": null, "element": "type", "qualifier": "coar", "schema": "dc"}, {"key": "dc.rights.accesslevel", "value": "openAccess", "language": null, "element": "rights", "qualifier": "accesslevel", "schema": "dc"}, {"key": "dc.type.publication", "value": "masterThesis", "language": null, "element": "type", "qualifier": "publication", "schema": "dc"}, {"key": "dc.subject.oppiainekoodi", "value": "602", "language": "", "element": "subject", "qualifier": "oppiainekoodi", "schema": "dc"}, {"key": "dc.subject.yso", "value": "tiedonsiirto", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "JSON", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.format.content", "value": "fulltext", "language": null, "element": "format", "qualifier": "content", "schema": "dc"}, {"key": "dc.rights.url", "value": "https://rightsstatements.org/page/InC/1.0/", "language": null, "element": "rights", "qualifier": "url", "schema": "dc"}, {"key": "dc.type.okm", "value": "G2", "language": null, "element": "type", "qualifier": "okm", "schema": "dc"}]
|