edit

VSS Management

System Management

  • Zu Systems Management gehört u.a.
    • Software distribution
    • version control
    • Backup / Recovery
    • Performance Monitoring
    • Network Management
  • Zu Configuration Management gehört das Dokumentieren des Systems und Nachverfolgbarkeit, damit frühere Versionen maintained werden können
  • Ein Service Management Framework ist z.B. ITIL

System-Management Patterns für message-basierte Software

Wiretap

Einen Message-Channel "abhören", indem die Messages neben dem Ziel auch an einen zweiten Channel zur Inspektion gesendet werden

Detour

Nicht alle Messages werden direkt ans Ziel gesendet, sondern an eine Zwischenstelle, die Validierung, Debugging o.ä. vornimmt. Ein Router entscheidet, welche Messages über diese "Detour" und welche direkt an das Ziel gesendet werden

Test Message

Eine Art Black-Box-Test, in dem Test Messages ins System gefüttert werden, und hinterher geschaut, welche Messages raus kommen. So können interne Verarbeitungs-Fehler erkannt werden

Smart Proxy

  • In Systemen, in der Messages vom Absender mit einer Return-Adresse versehen werden
  • Analog zu einem Web-Proxy: Er ändert die Returnadresse zu sich selbst, und leitet die Antwort schliesslich zum originalen Absender wieder
  • Proxy hat dann Einsicht in die Messages

Message Store

Für jede Message wird jeweils eine Kopie an einen zentralen Message Store gesendet. Dieser speichert dann die gesamte oder Teile der Message

Message History

Die Message trägt eine History auf sich (im Header), von welchen Applikationen sie bereits vearbeitet wurde. Dies erleichtert debugging, da man den Weg der Message verfolgen kann.

Channel Purger

Ein Filter, der gewisse "verbliebene" Messages verwirft, damit das System wieder in einen konsistenten Zustand versetzt wird.

Java Management Extensions (JMX)

  • Java Technologie, um Applikationen, System-Objekte und Devices zu managen
  • Jedes Objekt ist ein MBean (Managed Bean), das ein Interface implementiert
  • Der Standard JMX-Client ist jconsole

Logging

Herausforderungen

  • Easy to use, wiederverwendbar
  • Zentralisiert, damit der Administrator es an einem Ort einsehen kann
  • Nur wenig Performance-Einbussen auf die Applikation
  • Filterung nach Konfiguration für verschiedene Typen

Tipps

  • Logging Framework benutzen (z.B. log4j)
  • Mehrere Log levels (debug, info, warning, severe)
  • slf4j als Wrapper benutzen, damit das konkrete Logging-Framework abstrahiert wird und später geändert werden kann
  • In Logs "W"-Fragen beantworten: Wo ist was, wie, wann und von wem passiert? etc.