Mikropalvelut ja Apache Kafka vertailussa prosessointitakuiden tehokkuus

Tutkielmassa tarkastellaan monipuolisten ohjelmistojen toteuttamista mikropalveluina, jotka ovat itsenäisiä ja riippumattomia toisista palveluista. Mikropalveluarkkitehtuuri tarjoaa etuja ohjelmistokehittäjille, mutta palveluiden välinen kommunikaatio voi muodostua haasteelliseksi. Perinteisiä synkr...

Full description

Bibliographic Details
Main Author: Markkanen, Jukka
Other Authors: Faculty of Information Technology, Informaatioteknologian tiedekunta, Information Technology, Informaatioteknologia, University of Jyväskylä, Jyväskylän yliopisto
Format: Master's thesis
Language:fin
Published: 2024
Subjects:
Online Access: https://jyx.jyu.fi/handle/123456789/93974
_version_ 1826225738400923648
author Markkanen, Jukka
author2 Faculty of Information Technology Informaatioteknologian tiedekunta Information Technology Informaatioteknologia University of Jyväskylä Jyväskylän yliopisto
author_facet Markkanen, Jukka Faculty of Information Technology Informaatioteknologian tiedekunta Information Technology Informaatioteknologia University of Jyväskylä Jyväskylän yliopisto Markkanen, Jukka Faculty of Information Technology Informaatioteknologian tiedekunta Information Technology Informaatioteknologia University of Jyväskylä Jyväskylän yliopisto
author_sort Markkanen, Jukka
datasource_str_mv jyx
description Tutkielmassa tarkastellaan monipuolisten ohjelmistojen toteuttamista mikropalveluina, jotka ovat itsenäisiä ja riippumattomia toisista palveluista. Mikropalveluarkkitehtuuri tarjoaa etuja ohjelmistokehittäjille, mutta palveluiden välinen kommunikaatio voi muodostua haasteelliseksi. Perinteisiä synkronisia ja API-lähtöisiä protokollia käytetään edelleen palveluiden välisessä kommunikaatiossa, mutta asynkroninen kommunikaatio on noussut suosituksi vaihtoehdoksi, erityisesti mikropalveluiden itsenäisyyden tukemiseksi. Tässä tutkimuksessa keskitytään asynkronisen viestinnän toteuttamiseen Apache Kafka -tapahtumaväylän avulla. Tutkimuksen tavoitteena on mitata täsmälleen kerran -prosessointitakuun suorituskykyä mikropalveluympäristössä verrattuna vähintään kerran ja korkeintaan kerran -prosessointitakuisiin. Empiirinen osuus toteutetaan lähettämällä tapahtumia Apache Kafka -tapahtumaväylän kautta muuttujinaan muun muassa viestin koko ja käytetty prosessointitakuu. This study examines the implementation of diverse software as microservices which are independent and autonomous from other services. Microservice architecture offers advantages to software developers but communication between services can pose challenges. Traditional synchronous and API-based protocols are still used for inter-service communication but asynchronous communication has become a popular choice, particularly to support the independence of microservices. This research focuses on implementing asynchronous communication using Apache Kafka as an event-streaming platform. The objective is to evaluate the performance of the exactly-once processing guarantee in a microservices environment compared to at-least-once and at-most-once processing guarantees. The empirical analysis involves sending events through Apache Kafka considering factors such as message size and the chosen processing guarantee.
first_indexed 2024-03-20T21:12:12Z
format Pro gradu
free_online_boolean 1
fullrecord [{"key": "dc.contributor.advisor", "value": "Viinikainen, Ari", "language": null, "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.author", "value": "Markkanen, Jukka", "language": null, "element": "contributor", "qualifier": "author", "schema": "dc"}, {"key": "dc.date.accessioned", "value": "2024-03-20T06:53:58Z", "language": null, "element": "date", "qualifier": "accessioned", "schema": "dc"}, {"key": "dc.date.available", "value": "2024-03-20T06:53:58Z", "language": null, "element": "date", "qualifier": "available", "schema": "dc"}, {"key": "dc.date.issued", "value": "2024", "language": null, "element": "date", "qualifier": "issued", "schema": "dc"}, {"key": "dc.identifier.uri", "value": "https://jyx.jyu.fi/handle/123456789/93974", "language": null, "element": "identifier", "qualifier": "uri", "schema": "dc"}, {"key": "dc.description.abstract", "value": "Tutkielmassa tarkastellaan monipuolisten ohjelmistojen toteuttamista mikropalveluina, jotka ovat itsen\u00e4isi\u00e4 ja riippumattomia toisista palveluista. Mikropalveluarkkitehtuuri tarjoaa etuja ohjelmistokehitt\u00e4jille, mutta palveluiden v\u00e4linen kommunikaatio voi muodostua haasteelliseksi. Perinteisi\u00e4 synkronisia ja API-l\u00e4ht\u00f6isi\u00e4 protokollia k\u00e4ytet\u00e4\u00e4n edelleen palveluiden v\u00e4lisess\u00e4 kommunikaatiossa, mutta asynkroninen kommunikaatio on noussut suosituksi vaihtoehdoksi, erityisesti mikropalveluiden itsen\u00e4isyyden tukemiseksi. T\u00e4ss\u00e4 tutkimuksessa keskityt\u00e4\u00e4n asynkronisen viestinn\u00e4n toteuttamiseen Apache Kafka -tapahtumav\u00e4yl\u00e4n avulla. Tutkimuksen tavoitteena on mitata t\u00e4sm\u00e4lleen kerran -prosessointitakuun suorituskyky\u00e4 mikropalveluymp\u00e4rist\u00f6ss\u00e4 verrattuna v\u00e4hint\u00e4\u00e4n kerran ja korkeintaan kerran -prosessointitakuisiin. Empiirinen osuus toteutetaan l\u00e4hett\u00e4m\u00e4ll\u00e4 tapahtumia Apache Kafka -tapahtumav\u00e4yl\u00e4n kautta muuttujinaan muun muassa viestin koko ja k\u00e4ytetty prosessointitakuu.", "language": "fi", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.abstract", "value": "This study examines the implementation of diverse software as microservices which are independent and autonomous from other services. Microservice architecture offers advantages to software developers but communication between services can pose challenges. Traditional synchronous and API-based protocols are still used for inter-service communication but asynchronous communication has become a popular choice, particularly to support the independence of microservices. This research focuses on implementing asynchronous communication using Apache Kafka as an event-streaming platform. The objective is to evaluate the performance of the exactly-once processing guarantee in a microservices environment compared to at-least-once and at-most-once processing guarantees. The empirical analysis involves sending events through Apache Kafka considering factors such as message size and the chosen processing guarantee.", "language": "en", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted by Paivi Vuorio (paelvuor@jyu.fi) on 2024-03-20T06:53:58Z\nNo. of bitstreams: 0", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Made available in DSpace on 2024-03-20T06:53:58Z (GMT). No. of bitstreams: 0\n Previous issue date: 2024", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.format.extent", "value": "67", "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": "mikropalvelut", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "asynkroninen kommunikointi", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "tapahtumavirrat", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "Apache Kafka", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "prosessointitakuut", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "suorituskyvyn arviointi", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.title", "value": "Mikropalvelut ja Apache Kafka : vertailussa prosessointitakuiden tehokkuus", "language": null, "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-202403202488", "language": null, "element": "identifier", "qualifier": "urn", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Master\u2019s thesis", "language": "en", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Pro gradu -tutkielma", "language": "fi", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Faculty of Information Technology", "language": "en", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Informaatioteknologian tiedekunta", "language": "fi", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Information Technology", "language": "en", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Informaatioteknologia", "language": "fi", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "University of Jyv\u00e4skyl\u00e4", "language": "en", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "Jyv\u00e4skyl\u00e4n yliopisto", "language": "fi", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Mathematical Information Technology", "language": "en", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Tietotekniikka", "language": "fi", "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.copyright", "value": "\u00a9 The Author(s)", "language": null, "element": "rights", "qualifier": "copyright", "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": null, "element": "subject", "qualifier": "oppiainekoodi", "schema": "dc"}, {"key": "dc.subject.yso", "value": "hajautetut j\u00e4rjestelm\u00e4t", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "ohjelmistokehitys", "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"}]
id jyx.123456789_93974
language fin
last_indexed 2025-02-18T10:54:11Z
main_date 2024-01-01T00:00:00Z
main_date_str 2024
online_boolean 1
online_urls_str_mv {"url":"https:\/\/jyx.jyu.fi\/bitstreams\/eb806d7f-b83f-4759-84c6-b3e9e5f49603\/download","text":"URN:NBN:fi:jyu-202403202488.pdf","source":"jyx","mediaType":"application\/pdf"}
publishDate 2024
record_format qdc
source_str_mv jyx
spellingShingle Markkanen, Jukka Mikropalvelut ja Apache Kafka : vertailussa prosessointitakuiden tehokkuus mikropalvelut asynkroninen kommunikointi tapahtumavirrat Apache Kafka prosessointitakuut suorituskyvyn arviointi Mathematical Information Technology Tietotekniikka 602 hajautetut järjestelmät ohjelmistokehitys
title Mikropalvelut ja Apache Kafka : vertailussa prosessointitakuiden tehokkuus
title_full Mikropalvelut ja Apache Kafka : vertailussa prosessointitakuiden tehokkuus
title_fullStr Mikropalvelut ja Apache Kafka : vertailussa prosessointitakuiden tehokkuus Mikropalvelut ja Apache Kafka : vertailussa prosessointitakuiden tehokkuus
title_full_unstemmed Mikropalvelut ja Apache Kafka : vertailussa prosessointitakuiden tehokkuus Mikropalvelut ja Apache Kafka : vertailussa prosessointitakuiden tehokkuus
title_short Mikropalvelut ja Apache Kafka
title_sort mikropalvelut ja apache kafka vertailussa prosessointitakuiden tehokkuus
title_sub vertailussa prosessointitakuiden tehokkuus
title_txtP Mikropalvelut ja Apache Kafka : vertailussa prosessointitakuiden tehokkuus
topic mikropalvelut asynkroninen kommunikointi tapahtumavirrat Apache Kafka prosessointitakuut suorituskyvyn arviointi Mathematical Information Technology Tietotekniikka 602 hajautetut järjestelmät ohjelmistokehitys
topic_facet 602 Apache Kafka Mathematical Information Technology Tietotekniikka asynkroninen kommunikointi hajautetut järjestelmät mikropalvelut ohjelmistokehitys prosessointitakuut suorituskyvyn arviointi tapahtumavirrat
url https://jyx.jyu.fi/handle/123456789/93974 http://www.urn.fi/URN:NBN:fi:jyu-202403202488
work_keys_str_mv AT markkanenjukka mikropalvelutjaapachekafkavertailussaprosessointitakuidentehokkuus