Schenk, A. (2018). Replication in loosely coupled systems : simulation and evaluation of replication strategies for their use in loosely coupled IT systems [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2018.43827
E188 - Institut für Softwaretechnik und Interaktive Systeme
-
Date (published):
2018
-
Number of Pages:
135
-
Keywords:
Replication; Messaging; Distributed Systems
en
Abstract:
Moderne IT-Systeme stellen oft lose gekoppelte verteilte Systeme dar, in denen einzelne Applikationen unabhängig voneinander erstellt, weiterentwickelt und ausgeliefert werden können. Nachteilig an dieser Architektur ist der hohe Kommunikationsaufwand zwischen den Applikationen. Dieser kann durch den Einsatz von Replikation verringert werden. Der aktuelle Stand der Technik in diesem Bereich konzentriert sich auf die Daten-Ebene, bei der enge Kopplung der Applikationen entsteht und der daher nicht für lose gekoppelte Systeme angewandt werden kann. In dieser Arbeit wurden Replikationsstrategien für lose gekoppelte IT-Systeme identifiziert und auf Basis von qualitativen und quantitativen Kennzahlen bewertet. Die Auswahl wurde mit einer bottom-up Ansatz durchgeführt, in der die allgemeinen Eigenschaften von Replikationsmechanismen als Basis dienten. Die konkreten Implementierungen der Replikationsstrategien bauten primär auf Event-Driven Architectures mit Messaging und Atom-basierte Web Feeds auf. Basis der Bewertung bildete eine analytische Betrachtung der Replikationsstrategien und die Ergebnisse einer Simulation. Die qualitativen Kennzahlen wurden rein analytisch auf Basis der ISO 25010 Software-Qualitätseigenschaften ermittelt. Als quantitative Kennzahlen wurden die client-seitige Latenz von Leseoperationen, die server-seitige Latenz von Schreiboperationen, die Zeit bis alle Replikate konsistent sind und der Bandbreitenverbrauch verwendet. Diese wurden sowohl analytisch ermittelt, als auch im Zuge der Simulation in einer eigens dafür erstellten Testumgebung gemessen. In der Testumgebung wurden konkrete Implementierungen der Replikationsstrategien in Java EE und Ruby on Rails mit mehreren synthetisch erstellten Workloads getestet. Im Zuge der Arbeit wurde festgestellt, dass keine einzelne Replikationsstrategie optimal für alle Anwendungsfälle geeignet ist. Replikationsstrategien die Atom-basierte Web Feeds verwenden werden grundsätzlich nicht empfohlen, da die verfügbaren Bibliotheken in diesem Bereich nicht ausgereift sind. Replikation über push-basierte Benachrichtigungen des gesamten Zustands eines Datensatzes, über eine publish-subscribe message queue, stellt sich als die beste Lösung für die meisten Anwendungsfälle dar.
de
Modern IT systems are often implemented as loosely coupled systems, consisting of independently developed and deployed components. These systems require a high degree of communication within and can be optimized by the replication of data. Actual research on replication mainly focuses on the data layer, which leads to tight coupling and is therefore not suitable for loosely coupled systems. This thesis identified replication strategies which may be used for loosely coupled systems by a bottom-up approach (based on general characteristics of replication mechanisms) and evaluates their use in respect to qualitative and quantitative indicators. The considered replication strategies mainly build on Event-Driven Architectures with Messaging and Atom-based Web Feeds. Data was gathered by an analytical evaluation and a simulation. Qualitative indicators were solely examined analytically, in accordance with the quality indicators of ISO 25010. Quantitative indicators are the latency of a client-side read operation, the latency of a server-side update operation, the time until all replicas are in a consistent state and the consumed bandwidth. These indicators were examined analytically and measured during a simulation in a custom-built simulation environment with implementation of the replication strategies in Java EE and Ruby on Rails. To emulate the behavior of a real IT system, the simulation uses several synthetic workloads which are based on real-world observations and assumptions made in related research. The evaluation concludes that there is no single best replication strategy for all cases of applications. Replication strategies which use Atom-based Web Feeds are generally not recommended because of the insufficient availability of tools in this area. The evaluation indicates that replication by push-based notifications of the full state of a data item with a publish-subscribe message queue can be used for most cases of applications.