Reliable distributed systems: review of modern approaches

Main Article Content

Oleh V. Talaver
Tetiana A. Vakaliuk


Called on to refine service-oriented architecture, a new architectural pattern named microservices emerged in the early two-thousands promising to speed up the delivery of new features. All of this is achieved by allowing many teams to work on separate autonomous parts of an application independently, though steepening the learning curve and introducing infrastructure-related issues. Overtime, while gaining more popularity, the initial meaning, as well as peculiarities of distributed systems development and reason for the use of the pattern, has turned out to be less prominent, instead becoming a sliver bullet for monolithic applications, which irreversibly leads to a tremendous increase in complexity of a system as well as other inherent problems. The absence of a single definition as well as the misleading name of the microservices pattern has all contributed to the development of the notoriously known distributed monolith. In this document, a review was conducted to resurrect the notion of microservices, understand their nature, and how and when the pattern should be applied. This is done by firstly understanding the difference between monolithic and distributed systems including their strengths and weaknesses, and defining the single most important reason for microservices to be used. The main part focuses on reducing the coupling in the system, which is the main obstacle during the development of a reliable and agile distributed system. Firstly, by modeling boundaries following domain teams and architectural needs, we ensure autonomous deployable units are created that provide independence during development, isolation, and reliability. Later by analyzing approaches to sharing data and communication, which are two major forces structuring a distributed system, we secure the previously established boundaries.


Abstract views: 579 / PDF downloads: 276


Download data is not yet available.

Article Details

How to Cite
Talaver, O.V. and Vakaliuk, T.A., 2023. Reliable distributed systems: review of modern approaches. Journal of Edge Computing [Online], 2(1), pp.84–101. Available from: [Accessed 24 July 2024].

How to Cite

Talaver, O.V. and Vakaliuk, T.A., 2023. Reliable distributed systems: review of modern approaches. Journal of Edge Computing [Online], 2(1), pp.84–101. Available from: [Accessed 24 July 2024].
Received 2022-09-12
Accepted 2023-05-14
Published 2023-05-17


Balalaie, A., Heydarnoori, A., Jamshidi, P., Tamburri, D.A. and Lynn, T., 2018. Microservices migration patterns. Software: Practice and Experience, 48(11), pp.2019–2042. Available from: DOI:

Bozan, K., Lyytinen, K. and Rose, G.M., 2020. How to Transition Incrementally to Microservice Architecture. Commun. ACM, 64(1), p.79–85. Available from: DOI:

Bucchiarone, A., Dragoni, N., Dustdar, S., Larsen, S.T. and Mazzara, M., 2018. From Monolithic to Microservices: An Experience Report from the Banking Domain. IEEE Software, 35(3), pp.50–55. Available from: DOI:

Communication in a microservice architecture, 2022. Available from:

Conway, M.E., 1968. How do committees invent. 14(5), pp.28–31. Available from:

Evans, E., 2003. Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley Professional. Available from:

Francesco, P.D., Malavolta, I. and Lago, P., 2017. Research on Architecting Microservices: Trends, Focus, and Potential for Industrial Adoption. 2017 IEEE International Conference on Software Architecture (ICSA). pp.21–30. Available from: DOI:

Gilbert, S. and Lynch, N., 2002. Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services. SIGACT News, 33(2), p.51–59. Available from: DOI:

Helland, P., 2016. Life Beyond Distributed Transactions: An Apostate’s Opinion. Queue, 14(5), p.69–98. Available from: DOI:

Kapferer, S. and Zimmermann, O., 2020. Domain-specific Language and Tools for Strategic Domain-driven Design, Context Mapping and Bounded Context Modeling. Proceedings of the 8th International Conference on Model-Driven Engineering and Software Development - MODELSWARD. INSTICC, SciTePress, pp.299–306. Available from: DOI:

Khononov, V., 2018. Tackling Complexity in Microservices. Available from:

Khononov, V., 2020. Untangling Microservices, or Balancing Complexity in Distributed Systems. Available from:

Kleppmann, M., 2017. Designing Data-Intensive Applications. O’Reilly Media, Inc. Available from:

Laigner, R., Kalinowski, M., Diniz, P., Barros, L., Cassino, C., Lemos, M., Arruda, D., Lifschitz, S. and Zhou, Y., 2020. From a Monolithic Big Data System to a Microservices Event-Driven Architecture. 2020 46th Euromicro Conference on Software Engineering and Advanced Applications (SEAA). pp.213–220. Available from: DOI:

Lin, Q., Chang, P., Chen, G., Ooi, B.C., Tan, K.L. and Wang, Z., 2016. Towards a Non-2PC Transaction Management in Distributed Database Systems. Proceedings of the 2016 International Conference on Management of Data. New York, NY, USA: Association for Computing Machinery, SIGMOD ’16, p.1659–1674. Available from: DOI:

Merson, P. and Yoder, J., 2020. Modeling Microservices with DDD. 2020 IEEE International Conference on Software Architecture Companion (ICSA-C). pp.7–8. Available from: DOI:

Müller, M., 2016. Enabling retroactive computing through event sourcing. Universität Ulm. Available from:

Newman, S., 2021. Building Microservices. 2nd ed. O’Reilly Media, Inc. Available from:

Pritchett, D., 2008. BASE: An Acid Alternative: In Partitioned Databases, Trading Some Consistency for Availability Can Lead to Dramatic Improvements in Scalability. Queue, 6(3), p.48–55. Available from: DOI:

Rotem-Gal-Oz, A., 2008. Fallacies of Distributed Computing Explained. Doctor Dobbs Journal. Available from:

Štefanko, M., Chaloupka, O. and Rossi, B., 2019. The Saga Pattern in a Reactive Microservices Environment. Proceedings of the 14th International Conference on Software Technologies - ICSOFT. INSTICC, SciTePress, pp.483–490. Available from: DOI:

Stevens, W.P., Myers, G.J. and Constantine, L.L., 1974. Structured Design. IBM Syst. J., 13(2), p.115–139. Available from: DOI:

Surianarayanan, C., Ganapathy, G. and Pethuru, R., 2019. Essentials of Microservices Architecture: Paradigms, Applications, and Techniques. 1st ed. Taylor & Francis. Available from: DOI:

Vernon, V., 2016. Domain-Driven Design Distilled. Addison-Wesley Professional.

Villamizar, M., Garcés, O., Castro, H., Verano, M., Salamanca, L., Casallas, R. and Gil, S., 2015. Evaluating the monolithic and the microservice architecture pattern to deploy web applications in the cloud. 2015 10th Computing Colombian Conference (10CCC). pp.583–590. Available from: DOI:

Yoder, J.W. and Merson, P., 2022. Strangler Patterns. Proceedings of the 27th Conference on Pattern Languages of Programs. USA: The Hillside Group, PLoP ’20, pp.1–25. Available from:

Similar Articles

You may also start an advanced similarity search for this article.

Most read articles by the same author(s)