Lafite, M. (2008). Design und Implementierung einer grafischen Komponente für Monitoring von SEDA-Applikationen [Master Thesis, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/186430
Internetdienste müssen heutzutage in der Lage sein, Anfragen tausender BenutzerInnen bzw. Clients gleichzeitig zu verarbeiten. Dabei sollen ständige Verfügbarkeit und kurze Antwortzeiten garantiert werden.<br />Ferner sind die angebotenen Inhalte zunehmend dynamisch zu generieren, was die erforderlichen Ressourcen zusätzlich erhöht. SEDA (Staged Event-Driven Architecture) ist ein Softwaremodell, das speziell für die Entwicklung solcher Internetdienste entworfen wurde. SEDA-Systeme setzen sich aus mehreren Stages zusammen. Jede Stage erfüllt eine Teilaufgabe des Gesamtsystems. Kommunikation mit anderen Stages erfolgt asynchron durch Senden von Events. Jede Stage verfügt über eine Queue, in die empfangene Events eingereiht werden, und einen Thread Pool, der diese Events abarbeitet. Das Konzept zielt auf die Entwicklung hochgradig nebenläufiger Systeme ab, welche sich auch unter extremer Auslastung angemessen verhalten.<br />Ziele dieser Arbeit sind Design und Implementierung einer Applikation, die EntwicklerInnen bei Monitoring, Analyse und Optimierung solcher SEDA-Systeme unterstützt. Dies soll unter anderem durch Visualisierung der Stages und deren Interaktion sowie durch Überwachung der Thread Pools und Queues erreicht werden. Die Möglichkeit, dem System zur Laufzeit spezielle Analysekomponenten hinzuzufügen, soll EntwicklerInnen zudem in die Lage versetzen, bestimmte Aspekte des Systems bei Bedarf - etwa im Falle einer Überlastung - gezielt zu überwachen.<br />
de
Today, internet services have to be able to process thousands of requests simultaneously. At the same time, permanent availability and short response times need to be ensured. Moreover, the provided content often has to be generated dynamically which further increases the required resources. SEDA (Staged Event-Driven Architecture) is a software model designed to develop such internet services. SEDA systems are composed of multiple stages. Each stage performs a subset of request processing. Stages communicate asynchronously by sending events. Each stage contains a queue, where received events are enqueued, and a thread pool which processes these events. The concept aims to develop highly concurrent systems which perform well even under extreme workload.<br />The objective of this thesis is to design and implement an application that assists developers in monitoring, analysing and optimising SEDA systems. This shall be achieved through visualising the stages and their interaction as well as through monitoring of the thread pools and queues. The possibility to add special analysis components to the system during runtime, shall allow developers to specifically monitor certain aspects of the system when required.