1 / 39

Blockseminar Großrechneraspekte

Blockseminar Großrechneraspekte. Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau. 1.Einführung 2.Messaging und Queuing 3.Messages 4.Queue-Manager 5.Message-Queues 6.Events 7.Zusammenfassung. 1.1.Motivation.

glynis
Download Presentation

Blockseminar Großrechneraspekte

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BlockseminarGroßrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau

  2. 1.Einführung 2.Messaging und Queuing 3.Messages 4.Queue-Manager 5.Message-Queues 6.Events 7.Zusammenfassung

  3. 1.1.Motivation • Middleware ermöglicht verteilten An-wendungen miteinander zu kommunizieren • „verteilt“ : z.B. Mainframes oder Cluster.... • Netzwerk zunächst erst einmal beliebig

  4. 1.1.Motivation • Hauptkomponenten von MQSeries: Applikation MQSeries Applikation MQSeries MQI MQI NETWORK

  5. 1.1.Motivation Serial Applications Parallel Applications Serial Programming Environment Parallel Programming Environment Cluster Middleware (Single System Image) PC/Workstation Comm. SW Net.Interface HW PC/Workstation Comm. SW Net.Interface HW (HIGHSPEED) NETWORK

  6. 1.2.Middleware • "Off-the-shelf connectivity software that supports distributed processing at runtime and it is used BY DEVELOPERS to build distributed software." • MQSeries ist ein proprietäres Middlewareprogramm von IBM

  7. 1.2.Middleware • Host: IBM MVS/ESA- Server and Client enabled Tandem NonStop Kernel- Server IBM VSE/ESA- Server • Workstation: IBM AIX- Server and Client NCR (AT&T GIS) UNIX- Server and Client Siemens Nixdorf SINIX- Server and Client Hewlett Packard HP-UX- Server and Client SunSolaris and SunOS- Server and Client Digital Unix- Client - available as SupportPac Linux Client - available as SupportPac

  8. 1.2.Middleware • Desktop: Windows 2000- Server and Client Microsoft Windows (MQSeries V2.0 - 16 Bit) Microsoft Windows (MQSeries V2.1 - 32 Bit) Windows 95 (32- Bit)- Client SCO Unixware- Server SCO Unix- Server SCO Unix (L2)- Client DOS Client- available as SupportPac MacOS (OEM)- Client

  9. 1.2.Middleware • MQSeries ermöglicht die Kommunikation auf verschiedenen Abstraktionsebenen: WINTEL OS Subsystems Kommunikations- Protokolle Prozessoren Sun/Solaris OS Subsystems Kommunikations- Protokolle Prozessoren MQSeries = Cross- Network- Communication

  10. 1.3.MQSeries-Grundlagen und Charakteristika • Message- Queuing ist eine Methode der Programm-zu-Programm-Kommunikation • VERBINDUNGSLOSES Senden und Empfangen von Nachrichten wird ermöglicht • Nachrichten werden hinterlegt und abgefragt mit Hilfe sogenannter Message- Queues (über MQSeries-API-Calls MQI)

  11. 1.3.MQSeries-Grundlagen und Charakteristika • der Queue-Manager ist das Run-Time-Programm von MQSeries (zuständig für Verwaltungs-aufgaben der Queues) • ein Queue-Manager arbeitet objektorientiert • MQSeries ermöglicht: - asynchrone Kommunikation - verbindungslose Kommunikation - parallele Kommunikation

  12. 1.4.Anwendungsgebiete • Workflow-Management: Lotus Notes • Integration prinzipiell jeglicher IT- Systeme, insbesondere aber: - Finanzen - Herstellung - Handel & Vertrieb - Gesundheitsfürsorge - Reise- & Transportwesen

  13. 1.5.Alternativen • innerhalb des Mainframebereichs gibt‘s keine • außerhalb (z.B.Cluster): - DCOM (distributed component oriented model) von Microsoft - Programmiersprachen – spezifisch: RMI (Java) MPI/PVM (C,C++) HPF (Fortran) ......

  14. 1.5.Alternativen • alternative Prinzipien zum Message- Queuing: RPC (remote procedure call) MOM (message oriented middleware) ORB (object request broker)

  15. 2. Messaging und Queuing2.1.Speicherkommunikation vs Nachrichtenkommunikation • Speicherkommunikation: Global Memory CPU Lok.Mem. CPU Lok. Mem.

  16. 2.1.Speicherkommunikation vs Nachrichtenkommunikation • Nachrichtenkommunikation: CPU Lok.Mem. CPU Lok.Mem. NETWORK

  17. 2.2.Paketkommunikation vs Kanalkommunikation • Paket: z.B.:Bussysteme, internes Internet • Kanal: z.B.:Telephon • in der Realität treten nat. auch Mischformen auf

  18. 2.3.Grundlegende Prinzipien • MQSeries: MOM, paketorientiert • Messaging: Nachrichtenobjekte werden versendet und empfangen • Queuing: Postfach, Synchronisation überflüssig • Queue: Datenstruktur, die von einem Queuemanager verwaltet wird und in der Nachrichten gespeichert werden können

  19. 2.3.Grundlegende Prinzipien • eine Anwendung nutzt zum Senden und Empfangen einer Nachricht MQI-Calls • der Programmiere kümmert sich nicht um Zielapplikation sondern nur um Zielqueue • MQSeries ermöglicht sowohl synchrones als auch asynchrones messaging

  20. 2.3.Grundlegende Prinzipien • durch das MQI ist MQSeries in vielen Programmiersprachen und Plattformen nutzbar • MQSeries verwirklicht eine Client-/Server- Struktur • Programme kommunizieren ausschließlich über Queues und deren Managern • innerhalb von MQSeries ist eine direkte Punkt-zu-Punkt-Kommunikation unmöglich

  21. 2.3.Grundlegende Prinzipien Queue- Manager Queue- Manager AQ(A) EQ(B) Applikation B Applikation A EQ(A) AQ(B) MQI MQI

  22. 2.3.Grundlegende Prinzipien Queuemanager AQ(A)=EQ(B) Applikation B Applikation A EQ(A)=AQ(B) MQI MQI

  23. 3.Messages • Messages bestehen prinzipiell aus zwei Teilen: - Daten (ab Version MQSeries 5 bis zu 100MB) - Header (MessageID, Steuerattribute,...)

  24. 3.1.Segmentierung •  Messages können (automatisch) zerteilt werden, um Ressourcen (z.B. Puffergröße der Zielapplikation) besser nutzen zu können • der Empfänger kann dann entweder die ganze Nachricht oder bestimmte, in interessierende, Segmente abfragen • die Segmente sind prinzipiell eigenständige kleinere Nachrichten

  25. 3.2.Gruppierung •  um den Netzwerktraffic zu optimieren, können viele kleine Messages auch zu einer großen Nachricht zusammengefasst werden • MQSeries sorgt automatisch für das Beibehalten der richtigen Reihenfolge (falls die Nachricht wieder auseinander genommen wird)

  26. 3.3.Distribution Lists • eine Message kann natürlich auch an mehrere Ziel- Queues gesendet werden • wenn diese Queues vom selben Manager verwaltet werden, können die Nachrichten nur an diesen Manager gesendet werden • dieser verteilt sie dann an die Queues • dynamic distribution list : welche Queue gehört zu welchem Manager

  27. 3.4.Message Types • Datagram: konventionelle Nachricht, welche ohne Rückmeldungs- forderung einfach nur Daten transportiert • Request: mit Rückmeldeforderung • Reply: Antwortnachricht auf Request • Report: Event- Information (z.B. bei Fehler oder als Bestätigung

  28. 3.5.Persistenz von Messages • Messages können persistent oder nicht persistent übertragen werden: • persistent messages:- Übertragung wird mittels eines Über- tragungsprotokolls sichergestellt - bei Systemausfällen reproduzierbar • non persistent messages: - bei Systemausfällen nicht reproduzierbar

  29. 3.6.Message Descriptor • Der Message- Descriptor enthält: - Version Number - MessageID/CorrellationID - persistent/non persistent - Priorität - Date & Time - Lifetime of a message - Returnadress - Format - Sender application and type - report option - Backout- Counter - Segmentierung/ Gruppierung 

  30. 3.Queue- Manager • der Message- Queue- Manager (MQM) ist der Kern von MQSeries und wird durch das MQSeries-Run-Time-Program implementiert • seine Hauptaufgabe ist (wie schon erwähnt) die Verwaltung der Queues • zusätzlich stellt er einige Funktionen bereit, die den Traffic verringern bzw. die Arbeit des Programmierers vereinfachen • dies geschieht durch die Bereitstellung des MQI durch den MQM

  31. 4.Queue- Manager Application Program A PUT to Q1 Application Program B GET from Q1 Queuemanager mit Queue Q1

  32. 4.Queue- Manager Hauptaufgaben des Queuemanagers: - verwalten der Message- Queues der Applikationen - zur Verfügung stellen des MQI's - nutzen vorhandener Netzwerk- Facilities (MQM- to-MQM) - ggf. segmentieren und gruppieren - übernehmen von Aufgaben der Kommunikations- koordination (Distribution List) - liefern von Queue-Verwaltungs-Funktionen

  33. 4.1.Queue-Manager-Cluster • MQMs können in Clustern zusammengeschlossen werden  • Konventionelle Verbindung: partial repository (enthält nur Informationen über interessierende Objekte) • Cluster- Verbindung: full repository (enthält Informationen über alle Objekte im Cluster) • den Programmierer kümmert es nicht, ob er in einem Cluster arbeitet oder nicht; die Koordination übernimmt MQSeries

  34. 4.2.Queue-Manager-Objekte es gibt folgende Objekte für den Queuemanager: • Queuemanager • Queues • Channels • Prozess- Definitionen

  35. 4.2.Channels MQM MQ Client MQM Message- Channels unidirektional MQI- Channels bidirektional MQ Client

  36. 5.Message- Queues MQSeries unterscheidet je nach Zweck verschiedene Arten von Queues: - Lokale Queues - Cluster- Queues - Remote Queues - Transmission Queues - Dynamic Queues - Alias Queues

  37. 6.Events • es gibt MQSeries-Instrumentations-Events, welche benutzt werden können, um Operationen eines Managers zu verfolgen • Events generieren spezielle Nachrichten, wenn bestimmte Bedingungen erfüllt sind • sie lassen sich z.B. wie folgt kategorisieren: - Queuemanager- Events - Performance- Events - Channel- Events

  38. 7.Zusammenfassung • Middleware • MQSeries • Alternativen: RPC, MOM, ORB • Queuemanagerobjekte: -Queues -Queuemanager -Channels -Events

  39. Quellenverzeichnis • Herrmann/Kebschull/Spruth: Einführung in z/OS und OS/390 • Bulitz/Döhre: Seminararbeit Enterprise Middleware • Fey: Vorlesung “Cluster Computing“

More Related