FEATURES OF DESIGNING MICROSERVICE-EVENT ARCHITECTURES FOR HIGHLY LOADED DISTRIBUTED INFORMATION PROCESSING SYSTEMS

UDC 004.27

  • Karpovich Maksim Nikolaevich – Master's degree student, the Department of Software Engineering. Belarusian State Technological University (13a, Sverdlova str., 220006, Minsk, Republic of Belarus). E-mail: karpovich@belstu.by

Keywords: microservice architecture, event-driven architecture, mediator pattern, broker pattern.

For citation: Karpovich M. N. Features of designing microservice-event architectures for highly loaded distributed information processing systems. Proceedings of BSTU, issue 3, Physics and Mathematics. Informatics, 2023, no. 1 (266), pp. 89–95. DOI: https://doi.org/10.52065/2520-6141-2023-266-1-15.

Abstract

The article discusses the characteristics of various architectural solutions, complexities, problems, key features and best practices in their use. Comparison of monolithic, microservice and event-oriented architecture. When creating an architecture for processing large data flows, developers combine an eventdriven architecture and a microservices architecture to create systems that are extremely scalable, affordable, fault-tolerant, parallel, and easy to develop and maintain. Approaches for working with data in microservice and monolithic architecture are described and eliminated. The patterns for routing requests, such as API Gateway and Service Discovery, are considered, their advantages, disadvantages and implementation features are described. Two approaches for searching addresses on the server and client side are compared. An example of the implementation of event-oriented architecture based on such patterns as: intermediary and message broker is given. The ways of their implementation, the strengths and weaknesses of each of these approaches are described. Comparison of approaches for interprocessor communication of microservices using synchronous and asynchronous type of interaction. Describes the comparison of message brokers by various parameters. In conclusion, conclusions are drawn on the choice of the optimal architecture for processing large amounts of data.

References

  1. Karpovich M. N. Designing microservice architectures of information systems. Informatsionnyye tekhologii: materialy 86-y nauchno-tekhnicheskoy konferentsii professorsko-prepodavatel’skogo sostava, nauchnykh sotrudnikov i aspirantov [Information technologies: materials of the 86th scientific-technical conferences of teaching staff, researchers and postgraduates (with international participation)], Minsk, January 31 – February 12, 2022. Minsk, 2022, pp. 82–85 (In Russian).
  2. Newman S. Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith. USA, O'Reilly Media Publ., 2019. 255 p.
  3. Bellemare A. Building Event-Driven Microservices. USA, O'Reilly Media Publ., 2020. 304 p.
  4. Richardson C. Microservices Patterns: With examples in Java. USA, Manning Publ., 2018. 520 p.
  5. Gough J., Bryant D., Auburn M. Mastering API Architecture. USA, O’Reilly Media Publ., 2021. 268 p.
  6. Christudas B. Practical Microservices Architectural Patterns. USA, Apress Publ., 2019. 934 p.
  7. Bruce M., Pereira P. Microservices in Action. USA, Manning Publ., 2018. 392 p.
  8. Filipe H., Rocha O. Practical Event-Driven Microservices Architecture. USA, Apress Publ., 2021. 166 p.
  9. Stopford B. Designing Event-Driven Systems. USA: O’Reilly Media Publ., 2018, pp. 75–80.
  10. Mertcan A. Redis vs Kafka vs RabbitMQ: Buy me a coffee. Available at: https://buymeacoffee.com/argucmertcan/redis-vs-kafka-vs-rebbitmq (accessed 22.12.2022).
30.01.2023