Simple view
Full metadata view
Authors
Statistics
Design and implementation of highty scaleable trading system for automated stock exchange based on reactive microservices architecture and artificial intelligence algorithms
Projekt oraz implementacja wysoce skalowalnego systemu do automatycznego obrotu akcjami w oparciu o architekturę reaktywnych mikroserwisów i algorytmy sztucznej inteligencji
Architektura mikroserwisowa, Algorytmy sztucznej inteligencji, LMS
Microservices architecture, AI, Neural networks, LMS
Architektura mikroserwisowa jest aktualnie najbardziej dynamicznie rozwijaną gałęzią inżynierii oprogramowania. Wiele firm IT migruje swoje aplikacje do wspomnianej architektury. Pomimo tak dużej popularności, trudno jest znaleźć źródło wiedzy, które pomoże w stworzeniu systemu opartego o tą architekturę zaczynając od fazy projektowania a kończąc na wdrożeniu systemu na produkcję. Celem tej pracy jest dostarczenie źródła wiedzy będącego na bieżąco z obecnymi trendami, które pozwoli osiągnąć ten cel. Co więcej, praca ta dostarcza implementację rozproszonego systemu stanowiącego przykład zastosowania zgromadzonych dobrych praktyk oraz narzędzi. Pierwsze rozdziały wyjaśniają terminologię oraz pomagają zrozumieć idee architektury mikroserwisowej. Dostarczają również informacji o tym, jak aplikacja powinna być dzielona na mikroserwisy. Przedstawione są również wady i zalety tej architektury. Kolejne rozdziały poświęcone są analizie najnowszych narzędzi i dobrych praktyk które są stosowane w tej architekturze. Przedstawiają wady i zalety jak również alternatywy dla każdej z nich. Przykładowe aspekty poddane analizie: - Modele wielowątkowości - Narzędzia do monitoringu aplikacji - Modele komunikacji między procesami Ostatnie rozdziały poświęcone są zastosowaniu wyników wykonanej analizy w praktyce, poprzez implementację systemu do przewidywania cen akcji w oparciu o sztuczne sieci neuronowe. Głównym celem jest zaprezentowanie projektu oraz uproszczonej implementacji takiego systemu. System ten poddany jest późniejszej ocenie w kontekście horyzontalnej skalowalności oraz odporności na uszkodzenia.
Microservices architecture become the most dynamically evolving branch of software engineering last years. IT companies started to migrate their applications to it. Despite its popularity, it is difficult to find comprehensive source of knowledge, that would provide information how to design system based on this architecture starting from design phase. The purpose of this thesis is to provide up to date guidance how to design system based on this architecture as well as show proof of concept for the system designed based on it.First chapters explain the idea behind this type of architecture as well as helps to understand when it should be used. Pros and cons of microservices are presented as well as alternative architectures that are worth to be considered during system design phase. Next chapters provide detailed overview of technology stack and best practices that are currently used in microservices architecture. As results of research, there are listed different aspect such as:-Threading models-Circuit breakers-System monitoring and observability tools-Microservice communication approachesEach of them is considered in terms of horizontal scalability as well as high availability of system. In order to show example implementation of the system based on presented technology stack, there is proof of concept proposed for the distributed system based on AI algorithms, which provides stock price predictions based on real time stock market data. Last chapters contain overview of the system. System design is evaluated from different perspectives. Final summary shows how microservice architecture goals were achieved in proposed system based on selected technology stack.
dc.abstract.en | Microservices architecture become the most dynamically evolving branch of software engineering last years. IT companies started to migrate their applications to it. Despite its popularity, it is difficult to find comprehensive source of knowledge, that would provide information how to design system based on this architecture starting from design phase. The purpose of this thesis is to provide up to date guidance how to design system based on this architecture as well as show proof of concept for the system designed based on it.First chapters explain the idea behind this type of architecture as well as helps to understand when it should be used. Pros and cons of microservices are presented as well as alternative architectures that are worth to be considered during system design phase. Next chapters provide detailed overview of technology stack and best practices that are currently used in microservices architecture. As results of research, there are listed different aspect such as:-Threading models-Circuit breakers-System monitoring and observability tools-Microservice communication approachesEach of them is considered in terms of horizontal scalability as well as high availability of system. In order to show example implementation of the system based on presented technology stack, there is proof of concept proposed for the distributed system based on AI algorithms, which provides stock price predictions based on real time stock market data. Last chapters contain overview of the system. System design is evaluated from different perspectives. Final summary shows how microservice architecture goals were achieved in proposed system based on selected technology stack. | pl |
dc.abstract.pl | Architektura mikroserwisowa jest aktualnie najbardziej dynamicznie rozwijaną gałęzią inżynierii oprogramowania. Wiele firm IT migruje swoje aplikacje do wspomnianej architektury. Pomimo tak dużej popularności, trudno jest znaleźć źródło wiedzy, które pomoże w stworzeniu systemu opartego o tą architekturę zaczynając od fazy projektowania a kończąc na wdrożeniu systemu na produkcję. Celem tej pracy jest dostarczenie źródła wiedzy będącego na bieżąco z obecnymi trendami, które pozwoli osiągnąć ten cel. Co więcej, praca ta dostarcza implementację rozproszonego systemu stanowiącego przykład zastosowania zgromadzonych dobrych praktyk oraz narzędzi. Pierwsze rozdziały wyjaśniają terminologię oraz pomagają zrozumieć idee architektury mikroserwisowej. Dostarczają również informacji o tym, jak aplikacja powinna być dzielona na mikroserwisy. Przedstawione są również wady i zalety tej architektury. Kolejne rozdziały poświęcone są analizie najnowszych narzędzi i dobrych praktyk które są stosowane w tej architekturze. Przedstawiają wady i zalety jak również alternatywy dla każdej z nich. Przykładowe aspekty poddane analizie: - Modele wielowątkowości - Narzędzia do monitoringu aplikacji - Modele komunikacji między procesami Ostatnie rozdziały poświęcone są zastosowaniu wyników wykonanej analizy w praktyce, poprzez implementację systemu do przewidywania cen akcji w oparciu o sztuczne sieci neuronowe. Głównym celem jest zaprezentowanie projektu oraz uproszczonej implementacji takiego systemu. System ten poddany jest późniejszej ocenie w kontekście horyzontalnej skalowalności oraz odporności na uszkodzenia. | pl |
dc.affiliation | Wydział Matematyki i Informatyki | pl |
dc.area | obszar nauk ścisłych | pl |
dc.contributor.advisor | Martyna, Jerzy - 130359 | pl |
dc.contributor.author | Szewczyk, Michał | pl |
dc.contributor.departmentbycode | UJK/WMI2 | pl |
dc.contributor.reviewer | Martyna, Jerzy - 130359 | pl |
dc.contributor.reviewer | Kalita, Piotr - 128604 | pl |
dc.date.accessioned | 2020-07-27T23:13:05Z | |
dc.date.available | 2020-07-27T23:13:05Z | |
dc.date.submitted | 2019-10-03 | pl |
dc.fieldofstudy | informatyka stosowana | pl |
dc.identifier.apd | diploma-131809-192652 | pl |
dc.identifier.project | APD / O | pl |
dc.identifier.uri | https://ruj.uj.edu.pl/xmlui/handle/item/234402 | |
dc.language | eng | pl |
dc.subject.en | Microservices architecture, AI, Neural networks, LMS | pl |
dc.subject.pl | Architektura mikroserwisowa, Algorytmy sztucznej inteligencji, LMS | pl |
dc.title | Design and implementation of highty scaleable trading system for automated stock exchange based on reactive microservices architecture and artificial intelligence algorithms | pl |
dc.title.alternative | Projekt oraz implementacja wysoce skalowalnego systemu do automatycznego obrotu akcjami w oparciu o architekturę reaktywnych mikroserwisów i algorytmy sztucznej inteligencji | pl |
dc.type | master | pl |
dspace.entity.type | Publication |