Dacă să analizăm istoria dezvoltării tehnologiilor începînd de la crearea primelor mașini de calcul și pînă în prezent, vom ajunge la concluzia că majoritatea arhitecturilor la baza cărora au fost create aceste tehnologii, erau soluții ce rezolvau dezavantajele sistemelor precedente. Ca de exemplu stilul monolit, a ajuns să fie popular datorită faptui că acesta a fost creat în perioada cînd creștea necesitatea de a utiliza tot mai mult mașinile de calcul. Stilul monolitic oferea stabilitate, integritate și securitate produsului, pentru că realizarea lui se producea pe o mașină de calcul. Însă pe lîngă faptul că creșteau în cantitate mașinile de calcul, se mărea și numărul de utilizatori a unui sistem, ce în final ruina procesul acestuia.
La fel și apariția microserviciilor, a fost un trend ce a devenit soluție optimă pentru arhitectura sistemelor complexe. În această lucrare au fost acumulate posibilitățile oferite de microservicii. S-a realizat o comparare a sistemelor bazate pe stilul monolit și pe microservicii. De asemenea a fost formulată concluzia, de ce nu trebuie de lăsat la o parte existența stilului monolit. Mai mult ca atît, s-au determinat avantajele și dezavantajele între aceste două stiluri, s-au stabilit motive după care trebuie să fim conduși pentru a realiza un sistem bazat pe microservicii.
De asemenea au fost accentuate modele de implementare a microserviciilor. Se regăsește descrierea celor mai reușite exemple de utilizare, dar și momente dezavantajoase a microserviciilor. S-au stabilit care sunt pricipiile de proiectare a microserviciilor, și de ce ele sunt importante în arhitectura sistemelor. De asemenea, au fost determinate relațiile între microservicii, pentru a avea o viziune corectă în structura logică a sistemului. În final, s-a explicat sistemul, dezvoltat pe baza principului bounded context și construit pe relații message bus. De asemenea, sunt descrise tehnologiile utilizate, în special s-a marcat importanța utilizării bazei de date MongoDB și principiul containzării utilizînd Docker.
If we look at the history of technology development from the creation of first computing machines to the present, we will come to the conclusion that most of the architectures on which these technologies were created were solutions that solved disadvantages of previous systems. For example, the monolithic style became popular because it was created in period when the need to use computing machines increased. This style offered product stability, integrity and security, because it was produced on only one computing machine. But besides the fact that the computing machines were growing in quantity, also was increased the number of users of a system, which eventually overloaded the process.
Similary it was with microservices, it became a mainstream that now is the optimal solution for complex systems. In this thesis were accumulated all the posibilites that are offered by microservices. We’ll find a comparison between systems based on monolith stile and microservices. Also, here it was concluded, why should not monolithic style be left out. Moreover, there have been determined the advantages and disadvantages of these two styles, and were identified reasons that will help to create systems based on microservice.
Also, were underlined the microservices implementation models. There were described examples of microservices in use, as well as the disadvantages of it. Here was determined what are the principles of microservice pattern, and why it is important in the system architecture. Also was established the correct model of communication between microservices for good implementations of the logical structure in system. Finally, was developed the system based on bounded context and built on the message bus communication. There are described technologies used in system, especially the importance of using the MongoDB database and the principle of containerization by using Docker.