Apache ActiveMQ

Schulung / Webinar

Der asynchrone Nachrichtenaustausch über Messaging ermöglicht die Entkopplung von Sender und Empfänger. Die lose Kopplung von Services ist eine Voraussetzung für erfolgreiche Microservices Projekte.

Apache ActiveMQ ist ein leistungsfähiger und beliebter Message Broker mit zahlreichen Features und Konfigurationsmöglichkeiten. Dieses Seminar vermittelt die notwendigen Grundlagen und das Detailwissen um ActiveMQ optimal einzusetzen.

Messaging Grundlagen

  • Wie Quality of Service das Leben von Entwicklern und Administratoren erleichtert.
  • Lose Koppelung über Nachrichten
  • Was ist ActiveMQ?

Nachrichten und Queues

  • Aufbau einer Nachricht
  • Nützliche Messageheader
  • Verwendung von Queues für den Nachrichtaustausch
  • Softwarearchitektur mit Queues
  • Verwaltung von Queues mit dem ActiveMQ

Persistenz

  • Das Message Store Muster
  • KahaDB oder LevelDB Store
  • Journaling und Caching
  • Mit dem JDBC Message Store Nachrichten in einer relationalen Datenbank persistieren

Topics

  • Durable Subscriber
  • Wann verwende ich eine Queue und wann ein Topic?

Clients

  • Java Message Service JMS
  • Consumer und Producer mit Java realisieren

Konfiguration & Administration

  • Aufbau der activemq.xml Datei
  • Spring Grundwissen für die ActiveMQ Konfiguration
  • Die Web Konsole
  • Logging
  • Dead Letter Queue

Fehlerbehandlung

  • Redelivery
  • Dead Letter Queue

Transaktionen

  • AUTO- und CLIENT Acknowledge
  • JMS Transaktionen
  • Message orientierte Middleware und Transaktionen

Protokolle und Transport

  • Konnektoren für VM, TCP, NIO, SSL, HTTP
  • Die Protokolle OpenWire, MQTT, AMQP und Stomp im Überblick
  • Anbindung von Perl, Phyton, C, ... Clients mit dem Stomp Protokoll
  • Client Failover

AMQP

  • Das AMQP Protokoll
  • AMQP mit ActiveMQ
  • AMQP oder OpenWire?

Performanz

  • Wie viele Nachrichten kann der Broker verarbeiten?
  • Wie lange dauert die Zustellung einer Nachricht?

Performanz und Tuning

  • Einflußfaktoren
  • Speicherverbrauch
  • Netzwerk und TCP Tuning

Clustering

  • Hochverfügbarkeit, Ausfallsicherheit, Skalierbarkeit und Antwortzeitverhalten
  • Competing Consumers und parallele Verarbeitung
  • Lastverteilung mit Loadbalancing
  • Store and Forward mit einem Network of Brokers basierend auf Apache Zookeeper

Administration

  • Die Web Konsole
  • Logging mit log4j
  • Wie du mit Advisory Topics auf dem Laufenden bleibst

Monitoring

  • ActiveMQ mit JMX überwachen
  • Überwachung von ActiveMQ mit Nagios

Programmierung

  • Einführung in JMS
  • Wie du mit der ActiveMQ API Message Consumer und Producer erstellen kannst

Enterprise Integration Patterns EIP

  • Message Broker
  • Message Expiration
  • Message Filter mit JMS Selektoren
  • Guaranteed Delivery
  • Idempotent Receiver
  • Invalid Message Channel
  • Verfolgen von Nachrichten mit der Correlation Id
  • Versenden großer Nachrichten mit dem Claim Check Muster

Sicherheit

  • Authentifikation über Passwort oder Zertifikat
  • Verschlüsselung mit SSL/TLS

Architektur

  • Wie verändert sich eine Softwarearchitektur durch die Verwendung von Messaging?
  • Synchrones Request/Reply und warum es stinkt
  • Welche Muster eignen sich?
  • Die Rolle von Messaging in einer Microservices Architektur

Routing mit Apache Camel

  • Integration mit ActiveMQ
  • EAI Patterns

Zielgruppe

Administratoren, Entwickler, Software Architekten

Vorkenntnisse

IT Grundlagen, Grundlagen in der Java Programmierung sind hilfreich aber nicht notwendig

Deine Vorteile

  • Sie lernen, wie Sie ActiveMQ optimal an Ihre Anforderungen anpassen können
  • Ihre zukünfigen Architekturen werden durch lose Kopplung robuster

Dauer

2 Tage

Kursunterlage

Handouts aller in der Schulung präsentierten Folien sowie ein Skript mit detailierten Übungen.

Apache and Apache Cassandra sind eingetragen Warenzeichen der The Apache Software Foundation.

Für Nicht-Programmierer
Wir führen den ActiveMQ Kurs auch für Teilnehmer ohne Java Kenntnisse durch. Das für die Administration notwendige Wissen über die Java Plattform wird im Seminar vermittelt.