1. Microservices Architecture Focusing on the Consistency of Transactions
- Author
-
Schurbaji, Mohamad
- Subjects
Transaktionen ,Software engineering ,Software architecture ,Distributed transactions ,Konsistenz ,Verteilte Transaktionen ,Transactions ,Software-Architektur ,Distributed systems ,Architektur-Muster ,Microservices ,Architectural patterns ,Verteilte Systeme ,Consistency - Abstract
Mit der Zunahme der Funktionen und Eigenschaften, die Unternehmenssoftwaresysteme bieten, steigt auch ihre Komplexität. Heutzutage muss fast jedes Unternehmenssystem mühelos Informationen mit einer Vielzahl anderer Systeme sowohl innerhalb als auch außerhalb des Unternehmens austauschen. Softwaresysteme sind traditionell als modulare Monolithen aufgebaut, d. h. sie folgen dem Konzept der Module, Schichten und Ebenen. Folglich haben die einzelnen Module innerhalb des Softwaresystems eine logische Modularität, und das gesamte System ist so konzipiert, dass es als ein einziger Prozess oder höchstens als verteiltes System mit einer Drei-Schichten- oder N-Schichten-Architektur eingesetzt werden kann. Allerdings ist die Flexibilität bei der Bereitstellung an dieser Stelle nicht mehr gegeben. Diese Arbeit befasst sich mit Microservices, einer alternativen Methode der Software-Anwendungsarchitektur. Damit wird versucht, eine Reihe aktueller Probleme der Anwendungsarchitektur zu lösen. Es werden die verschiedenen Herausforderungen der Architektur, die mit dem Einsatz von Microservices einhergehen, erörtert. Eine der größten Herausforderungen beim Einsatz von Microservices ist es, sicherzustellen, dass das System einen konsistenten Zustand beibehält, auch wenn einige Transaktionen fehlschlagen. Als Lösung für das Problem der Datenkonsistenz wird das Saga-Pattern vorgestellt und im Detail erläutert. As the functions and features offered by enterprise software systems increase, so does their complexity. Today, almost every enterprise system must effortlessly exchange information with a variety of other systems both inside and outside the enterprise. Software systems are traditionally built as modular monoliths, meaning they follow the concept of modules, layers, and tiers. Consequently, the individual modules within the software system have a logical modularity, and the entire system is designed to be deployed as a single process or, at most, as a distributed system with a three-tier or N-tier architecture. However, flexibility in deployment is no longer available at this point. This work addresses microservices, an alternative method of software application architecture. It attempts to solve a number of current application architecture problems. The various architectural challenges associated with the use of microservices are discussed. One of the major challenges of using microservices is to ensure that the system maintains a consistent state even if some transactions fail. As a solution to the data consistency problem, the Saga pattern is introduced and explained in detail.
- Published
- 2022