Vzájemná interakce a komunikace mikroslužeb v Javě

Název práce: Vzájemná interakce a komunikace mikroslužeb v Javě
Autor(ka) práce: Charalambidis, Nikolas
Typ práce: Diplomová práce
Vedoucí práce: Pavlíčková, Jarmila
Oponenti práce: Říha, Jan
Jazyk práce: Česky
Abstrakt:
Diplomová práce je zaměřena na různé typy vzájemné komunikace mikroslužeb z hlediska popisu, vlastní implementace, implementace odolnosti, integrace a konfigurace komunikačních systémů. Úvodní část práce identifikuje klíčové aspekty architektury mikroslužeb a přináší různé úhly pohledu na problematiku z hlediska technického i business zaměření. Práce dále představuje způsob implementace a kontejnerizace jednoduché mikroslužby včetně centrálního registru a detekce mikroslužeb a API brány. Práce je poté rozdělena na tři tematické kapitoly dle typů komunikace, tj. synchronní, a asynchronní komunikace s jedním a více konzumentů. Všechny tyto tři kapitoly přináší návrh případu užití tohoto typu komunikace, jeho specifika v oblasti mikroslužeb a způsob technické realizace včetně zajištění odolnosti na základě vzorů architektury mikroslužeb a krátké shrnutí poznatků. V rámci těchto kapitol jsou stručně představeny a porovnány messagingové systémy a platformy použité pro realizační část práce, a to zástupce AMQP protokolu RabbitMQ a streamovací platformy Apache Kafka. V závěru jsou shrnuty poznatky z celé práce a menších souhrnů klíčových tří kapitol včetně vytyčení problematických částí a možných rozšíření práce.
Klíčová slova: Java; Mikroslužby; Messaging; Producent; AMPQ; RabbitMQ; Konzument; Publisher; Subscruber; Zpráva; Apache Kafka; Redis; Spring; NetflixOSS; Integrace
Název práce: Communication and interaction between microservices
Autor(ka) práce: Charalambidis, Nikolas
Typ práce: Diploma thesis
Vedoucí práce: Pavlíčková, Jarmila
Oponenti práce: Říha, Jan
Jazyk práce: Česky
Abstrakt:
This diploma thesis is focused on the various types of inter-communication of microservices in terms of description, services and resiliency implementation, integration, and message systems configuration. The introductory part of this thesis identifies the key aspects of the microservices architecture and comes with both technical and business point of views. Then, follows the description of the implementation and containerization of a sample microservice, service registration and discovery, and API gateway. This thesis, thereafter, is divided into three thematic chapters based on the types of communication, i.e. synchronous, asynchronous with one and more consumers. All these chapters provide a sample use-case design based on each communication type followed by a comprehensive description of its solution and a short summary. The solution itself focuses on both technical and resiliency implementations based on the resiliency principles derived from the microservices architecture. Within these three chapters, there are messaging systems and platforms used for the communication between one or more microservices. They are briefly introduced and mutually compared. Namely, they are RabbitMQ, a representative of the AMQP protocol, and Apache Kafka, a streaming platform. The conclusion summarizes the findings of the whole thesis, the short summaries of the three key chapters, and highlights the problematic parts of the design, implementation and resiliency. Finally, possible extensions of the thesis are offered.
Klíčová slova: Apache Kafka; Redis; Integration; Java; Producer; Messaging; Consumer; Publisher; Spring ; Microservices; Subscriber; Message; AMPQ; RabbitMQ; NetflixOSS

Informace o studiu

Studijní program / obor: Aplikovaná informatika/Informační systémy a technologie
Typ studijního programu: Magisterský studijní program
Přidělovaná hodnost: Ing.
Instituce přidělující hodnost: Vysoká škola ekonomická v Praze
Fakulta: Fakulta informatiky a statistiky
Katedra: Katedra informačních technologií

Informace o odevzdání a obhajobě

Datum zadání práce: 30. 5. 2019
Datum podání práce: 3. 5. 2020
Datum obhajoby: 4. 6. 2020
Identifikátor v systému InSIS: https://insis.vse.cz/zp/69890/podrobnosti

Soubory ke stažení

    Poslední aktualizace: