SlideShare ist ein Scribd-Unternehmen logo
1 von 43
1 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Freie Fahrt für die Reisendeninformation
mit Kafka Streams
Axel Löhn, Deutsche Bahn AG
Uwe Eisele, Novatec
2 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
DB Reisendeninformation
3 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Fachliche Weiterentwicklung
der zentralen RI-Komponenten
Maßgeschneiderte
Lösungen
Betrieb einer deutschland-
weiten Datendrehscheibe
Beratung & Koordination
Kunden- und Mitarbeiterkanäle Karten-Services Daten-Services Analytic Services
4 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
6.200.000
Kunden
› 5.000
Züge
12.200
Anzeigen
› 9.500.000
Anfragen DB Navigator
800.000
Reisen
› 6.000
Bahnhöfe
>30.000
Involvierte Mitarbeiter (aus zehn
Geschäftsfeldern)
Zahlen pro Tag
5 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Informationskanäle
• Bahn.de
• DB Navigator
• DB Bahnhof Live
• ….
• Abfahrtstafel
• Gleisanzeiger
• Störungskarten
• Karten Services
• ….
• RIS Fahrzeug
• WIFI@DB
• ….
• Betrieb Live
• RIS Infoplattform
• RIS Communicator
• …
6 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
RI-Plattform
7 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Verbesserungen der Reisendeninformation
über drei Zeithorizonte
II. 1.2 Verbesserung der Reisendeninformation:
„Rechtzeitig und korrekt informiert, jederzeit und
überall“
Kurzfristige Verbesserungen
der Reisendeninformation
Umfassende Beseitigung der
größten Kundenärgernisse inA 2016
Informationsplattform
Reisendeninformation
Konsistente, umfassende,
modulare, diskriminierungsfreie
Informationsplattform bis Ende
B 2018
Wettbewerbsdifferenzierende
Funktionen für Transporteure
"State-of-the-art" Reisenden-
information und innovative
Reisendenbegleitung bis Ende
C 2020
8 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Vorher
Seit 08/2018
RI-Plattform
Data RI-Plattform
(Single Point of Truth)
Data
9 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Start
in Q2/2018 in Plauen, Vogtland
Pilotphase
Pilotphase über ein ein Jahr für ca. 80 Bahnhöfe mit
ca. 350 Anzeigern in den Regionen Sachsen,
Regensburg und Göttingen.
GO LIVE
10 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Methoden &
Technologien
11 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Methoden
• Agile Entwicklung nach Scrum
• Von Nexus zu eigenem, optimiertem Framework
• Betrieb nach DevOps („You build it, you run it“)
• Wöchentlicher Wissenstransfer und regelmäßige
Bootcamps
• Patenkonzept für Technologien
• Synchronisation von Technik und Versionen
12 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Technologien
Cloudcomputing
wirtschaftliches Entwickeln und schnelles
Skalieren bei Lastspitzen
Microservices
Reduktion technischer und organisatorischer
Komplexität
Verwaltung und Orchestrierung mit Kubernetes.
Streaming (Event-driven)
Kontinuierliche Verarbeitung und Lieferung von
Datenströmen in Echtzeit
13 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Technologien
14 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
>110 Personen mit
13 Scrum Teams 24/7
Betriebsteam
(DevOps)
Mehrmals tägliche unterbrechungsfreie
Änderungen in Produktion
Eigenes Testteam mit selbst entwickeltem
Testframework
(Simulation Bahnbetrieb mit ~ 3 MioTestfällen)
Livedatenverarbeitung
über alle Stages
15 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Die Plattform erzeugt und
verarbeitet >60 Mio Nachrichten
pro Tag
Produktionsumgebung besteht aus
>100 virtuellen Servern in der AWS
Cloud
Die Anwendung ist
verteilt über 3 AZ
Die Teams entwickeln und testen
ca. 80 Microservices
Es finden täglich Dauerlasttests statt
16 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Kafka als Fundament
17 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Streaming Plattform
Data Hub „RI-Plattform“
(Single Point of Truth)
Prognose
Apache Kafka
Kundenfahrpla
n
OracleDB
Betriebsfahrpla
n
Wagenreihung
Bahnhofswisse
n
Dispositionen
Zug-Positionen
OracleAQFTPTCP
Socket
RabbitMQ
IK
Abfahrtstafel
MatcherFahrtbuilder
KonsolidierungAnalyse
IK
Gleisansagen
IK Prognose
IK VDV
18 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Verarbeitung von Daten des
gesamten öffentlichen
Personenverkehr in Deutschland in
Echtzeit
Flexibles hinzufügen neuer Features
durch Entwicklung neuer Microservices
Effiziente und zuverlässige Verarbeitung
durch Aufbau individueller Views
Integration unterschiedlichster
Systeme (Echtzeit und periodische
Lieferung)
Aufbewahrung von Daten über die
Dauer einer Zugfahrt (4 Tage)
Jedes einzelne Event ist kunden-
wirksam und muss daher garantiert
ausgeliefert werden
Für was nutzen wir
Kafka?
19 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Wie hilft uns Kafka?
Zuverlässige, zeitlich unbegrenzte
permanente Speicherung von Daten
ohne Beeinträchtigung der Zugriffszeit
Beliebiger Einstieg im Datenstrom, sowie
erneutes Lesen von Daten (kurze Anlaufzeit
von neuen Features und nach Fehler)
Unterstütz Pub/Sub und Competing
Consumer Pattern auf demselben Topic
(ohne Auswirkung auf Datenmenge)
Sowohl Anwendungen als auch die
Broker können flexibel skaliert werden
(über die Anzahl der Partitionen)
Reihenfolge wird pro Partition garantiert
Integration von Systemen unabhängig vom
Workload, da Kafka als Puffer agiert
20 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Kafka Streams in der
Reisendeninformation
21 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Innerhalb der Plattform setzen wir mittlerweile
vollständig auf Kafka Streams (1.1.1-cp1)
Die Anbindung von Quellen und Abnehmern erfolgt
über die Kafka Consumer bzw. Producer API
(Kafka Connect wird bei uns aktuell nicht verwendet)
Streaming
Technologies
22 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Kafka Streams zur Verarbeitung von
Datenströmen
Kafka
Streams
https://docs.confluent.io/current/streams/introduction.html
Kafka Streams benötigt kein separates
Cluster
Einfacher Betrieb und gute Skalierbarkeit
23 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Kafka Streams zur Verarbeitung von
Datenströmen
Kafka
Streams
Robust und zuverlässig
Kafka Integration für Apache Storm problematisch
• Letztes Release der Storm Kafka-Client Library vom Mai 2018
• Starte Abhängigkeit der Storm Version zur Kafka Version
• Storm Kafka Library hat fetch.min.bytes=0 gesetzt, wodurch
Broker sehr stark belastet wurden
Kafka Streams zu Kafka Broker vor- und
rückwärts-kompatibel (dadurch unabhängig
voneinander aktualisierbar
Sehr gute Betriebs und Entwickler
Dokumentation
Kafka Streams ist Teil des Kafka Ökosystems
(dadurch erprobt, kompatibel und immer aktuell)
https://www.confluent.io/blog/upgrading-apache-kafka-clients-just-got-
Einfache DSL für Entwicklung
24 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Kafka Streams als verteilte Datenbank
Stateful Verarbeitung mit Kafka Streams State
Stores
Stateful Verarbeitung mit globaler
Datenbank (Cassandra, PostgreSQL,
Hazelcast)
Kafka
Streams App
Kafka
Streams App
https://docs.confluent.io/current/streams/architecture.html
 Für Verarbeitung erforderliche Daten liegen lokal vor
 Keine zusätzlichen Abhängigkeiten und niedrige Latenz
 Programmiermodell verhindert Race Conditions und
Inkonsistenzen (Verarbeitung in einem Thread!)
 Zustand in eigenem Topic gesichert, wodurch nach Ausfall
einer Instanz eine andere übernehmen kann
 Datenbank kann zu Bottleneck werden
 Zusätzliche Netzwerkkommunikation
 Das sicherstellen der erforderlichen Konsistenz
und die Vermeidung von Race Conditions ist ein
Herausforderung
25 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Kafka Streams als verteilte Datenbank
Kafka
Streams
State Stores
Massive Verbesserung der Performance:
Dauer der Verarbeitung des Fahrplanimports von 20 auf 2 Minuten reduziert
Zughalt
Haltphase
Abo
Gleisansagen
Bahnhof
26 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Problemstellungen
Rebalancing führt zu „Stop-the-World“-Effekt
Wenn ein Prozess eine Gruppe verlässt oder dieser beitritt, unterbrechen alle Mitglieder der Gruppe die
Verarbeitung und stimmen sich ab, um die Zuweisungen zu den Kafka Partitionen neu zu verteilen.
Die Auswirkungen auf folgende Use Cases sollte reduziert werden:
• Kubernetes Prozess stirbt
• Rolling bounce
• Scale up/down
An einer Lösung wird gearbeitet (Under Discussion):
https://cwiki.apache.org/confluence/display/KAFKA/Incremental+Cooperative+Rebalancing:+Support+and+Policies
KIP-429: Incremental Rebalance Protocol (https://cwiki.apache.org/confluence/display/KAFKA/KIP-
429:+Kafka+Consumer+Incremental+Rebalance+Protocol)
KIP-441: Smooth Scaling Out (https://cwiki.apache.org/confluence/display/KAFKA/KIP-
441:+Smooth+Scaling+Out+for+Kafka+Streams)
 Unsere Anforderung: Die Verarbeitung wird nur für betroffene Partitionen unterbrochen.
 Ein vorübergehendes Ungleichgewicht hat weniger Auswirkungen als viele Umverteilungen
27 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
• Upgrade auf Kafka Streams 2.2.0-cp2 (Confluent
5.2.1)
• Erarbeitung von Best Practices für State Store
Konfiguration, Upgrade, … (e.g. zur Reduzierung
der Dauer von Rebalances)
• Evaluierung von KSQL
Nächste Schritte
28 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Deployment & Betrieb
von Apache Kafka
29 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
• Aktuell Einsatz von Confluent Plattform 4.1.1
• Betrieb in AWS Cloud auf EC2 Instanzen
• Zum Einsatz kommt Kafka, Zookeeper und
Schema Registry
• Die optimale Konfiguration wurde mit AWS und
Confluent ermittelt
• 4 Cluster mit Live-Daten (von Dev bis Prod) +
weitere Cluster für Test und Entwicklung
Apache Kafka
30 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Deployment (Stretch Cluster)
r4.2xlarge
• 8 vCPUs
• 61GB Memory
• Up to 10Gbit Network
• 1TB EBS/gp2 (3000
IOPS)
r4.large
• 2 vCPUs / 15,25 GB
m4.large
• 2 vCPUs / 8 GB
31 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
0
20
40
60
80
22.04
(Mo)
23.04
(Di)
24.04
(Mi)
25.04
(Do)
26.04
(Fr)
27.04
(Sa)
28.04
(So)
29.04
(Mo)
30.04
(Di)
01.05
(Mi)
02.05
(Do)
03.05
(Fr)
04.05
(Sa)
05.05
(So)
Anzahl Nachrichten (in Millionen)
Eingang (Avg: 3,22) Ausgang (Avg: 8,83) Intern (Avg: 54,25)
Aktuelle Auslastung der Broker
Topics
215
Partitionen
2387
Replicas pro
Broker
1194 / 2000
Log Size
1,8 TB
Datenvolumen pro Tag
125 GB
CPU Usage (%)
14 Avg / 60 Max
Replicas
7157
Network Tx (MBs)
2,4 Avg / 39 Max
Network Rx (MBs)
1,3 Avg / 34 Max
Records / sec (in Tausend)
1.2 Avg / 27 Max
32 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Persistenz – Don‘t fear the filesystem
https://docs.confluent.io/current/kafka/deployment.html#jvm
 Kafka verwendet Mapped Byte Buffer für den Zugriff auf
die Log Segmente
 Schreiben:
 Records werden aus Sicht von Java direkt in die Seg-
mente geschrieben  OS entscheidet wann tat-
sächlich geschrieben wird
 Ein Record wird unabhängig davon, ob dieser tatsächlich
geschrieben wurde, als committed
 Lesen:
 Direkt aus dem Arbeitsspeicher
 Zero-Copy: Records müssen nicht in Heap kopiert
werden um diese zu versenden
 Log Struktur erlaubt sequenzielles lesen und schreiben
der Segmente
 Neustart von Kafka sehr schnell, da die Daten bereits im
Page Cache liegen
Größe des Arbeitsspeicher sollte so gewählt sein, dass im Normalbetrieb nicht auf die Disk
zugegriffen werden muss.
JVM Heap (GB)
1,6 Avg / 3,5 Max
33 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Durchsatz-Test
2 Topics mit 12 Partitionen und Replikation 3
for i in 1 2 3 4 5 6 7 8 9 10 11 12; do docker run -d --name kafka-producer-benchmark-$i --net host confluentinc/cp-
kafka:5.2.0 kafka-producer-perf-test --topic sherlock-benchmark-producer --num-records 100000 --record-size 2048 --
throughput -1 --producer-props bootstrap.servers=smoky03-kafka01:9092 batch.size=1
max.in.flight.requests.per.connection=1 acks=-1; done
24 Instanzen:  1287.100677 batches/sec (2.51 MB/sec) pro Instanz
39,2k batches/sec
 Aktuell werden bei Fahrplanimport ca 8,8k batches/sec erreicht
34 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Skalierung
Hinzufügen von neuen Brokern
BessererInstanz-Typ
Größere/zusätzlicheVolumes r5.4xlarge
• 2TB EBS
35 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Garantien, Availability und Durability
 At Least Once Delivery
 Einhaltung der Reihenfolge pro Partition
Die Garantien müssen auch noch eingehalten werden wenn:
36 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Garantien, Availability und Durability
L
F
F
 Replikation Factor 3
ISR
 min.insync.replicas = 2
 At Least Once Delivery
 Einhaltung der Reihenfolge pro Partition
Die Garantien müssen auch noch eingehalten werden wenn:
Partition:
Client:
 acks = all (Producer / Streams)
 replication.factor = 3 (Streams)
Broker:
 unclean.leader.election = false
37 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Garantien, Availability und Durability
 At Least Once Delivery
 Einhaltung der Reihenfolge pro Partition
Die Garantien müssen auch noch eingehalten werden wenn:
Broker:
 Rackawareness:
brocker.rack = (1a|1b|1c)
38 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Garantien, Availability und Durability
 At Least Once Delivery
 Einhaltung der Reihenfolge pro Partition
Producer:
 max.in.flight.requests.per.connection = 1
L
F
Client
1
2
3
 retries = Integer.MAX_VALUE (default ab 2.1.0)NOT_ENOUGH_REPLICAS
1
1
2 3 1
39 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Monitoring und Alarmierung
40 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Herausforderungen
Dauerhafte „under replicated partitions“
Konfiguration zusammen mit AWS und Confluent optimiert.
Problem nicht mehr aufgetreten
41 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Herausforderungen
Produktiver Betrieb eines Kafka Clusters in der Cloud,
mit welchem 13 Teams arbeiten
Monitoring, Alarmierung und Troubleshooting
Verhalten des Cluster im Fehlerfall
Überwachung und Planung des Wachstums
Team Support
42 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
• Upgrade auf Confluent 5.2.1 (Client und Broker)
• Evaluierung R5 Instanz-Typ und Einsatz von 5
Zookeeper
• Anbindung ÖV (+ ~750.000 Sollfahrten pro Tag)
• Evaluierung Kafka Operator und Kubernetes für
Orchestrierung der Middleware
• Evaluierung von Kafka Security
• Verwaltung von Topics über Kubernetes Controller
Nächste Schritte
43 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019
Fragen?

Weitere ähnliche Inhalte

Was ist angesagt?

Apache Kafka® Use Cases for Financial Services
Apache Kafka® Use Cases for Financial ServicesApache Kafka® Use Cases for Financial Services
Apache Kafka® Use Cases for Financial Servicesconfluent
 
Streaming all over the world Real life use cases with Kafka Streams
Streaming all over the world  Real life use cases with Kafka StreamsStreaming all over the world  Real life use cases with Kafka Streams
Streaming all over the world Real life use cases with Kafka Streamsconfluent
 
(BDT318) How Netflix Handles Up To 8 Million Events Per Second
(BDT318) How Netflix Handles Up To 8 Million Events Per Second(BDT318) How Netflix Handles Up To 8 Million Events Per Second
(BDT318) How Netflix Handles Up To 8 Million Events Per SecondAmazon Web Services
 
Schema Registry 101 with Bill Bejeck | Kafka Summit London 2022
Schema Registry 101 with Bill Bejeck | Kafka Summit London 2022Schema Registry 101 with Bill Bejeck | Kafka Summit London 2022
Schema Registry 101 with Bill Bejeck | Kafka Summit London 2022HostedbyConfluent
 
Domain Driven Data: Apache Kafka® and the Data Mesh
Domain Driven Data: Apache Kafka® and the Data MeshDomain Driven Data: Apache Kafka® and the Data Mesh
Domain Driven Data: Apache Kafka® and the Data Meshconfluent
 
Distributed stream processing with Apache Kafka
Distributed stream processing with Apache KafkaDistributed stream processing with Apache Kafka
Distributed stream processing with Apache Kafkaconfluent
 
When NOT to use Apache Kafka?
When NOT to use Apache Kafka?When NOT to use Apache Kafka?
When NOT to use Apache Kafka?Kai Wähner
 
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...Flink Forward
 
Disaster Recovery Plans for Apache Kafka
Disaster Recovery Plans for Apache KafkaDisaster Recovery Plans for Apache Kafka
Disaster Recovery Plans for Apache Kafkaconfluent
 
An Introduction to Confluent Cloud: Apache Kafka as a Service
An Introduction to Confluent Cloud: Apache Kafka as a ServiceAn Introduction to Confluent Cloud: Apache Kafka as a Service
An Introduction to Confluent Cloud: Apache Kafka as a Serviceconfluent
 
Apache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals ExplainedApache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals Explainedconfluent
 
Deploying Confluent Platform for Production
Deploying Confluent Platform for ProductionDeploying Confluent Platform for Production
Deploying Confluent Platform for Productionconfluent
 
Common issues with Apache Kafka® Producer
Common issues with Apache Kafka® ProducerCommon issues with Apache Kafka® Producer
Common issues with Apache Kafka® Producerconfluent
 
Real-Life Use Cases & Architectures for Event Streaming with Apache Kafka
Real-Life Use Cases & Architectures for Event Streaming with Apache KafkaReal-Life Use Cases & Architectures for Event Streaming with Apache Kafka
Real-Life Use Cases & Architectures for Event Streaming with Apache KafkaKai Wähner
 
Apache Spark on K8S Best Practice and Performance in the Cloud
Apache Spark on K8S Best Practice and Performance in the CloudApache Spark on K8S Best Practice and Performance in the Cloud
Apache Spark on K8S Best Practice and Performance in the CloudDatabricks
 
Unified Log Processing Architecture
Unified Log Processing ArchitectureUnified Log Processing Architecture
Unified Log Processing ArchitectureGuido Schmutz
 
Introduction to Kafka Streams
Introduction to Kafka StreamsIntroduction to Kafka Streams
Introduction to Kafka StreamsGuozhang Wang
 
Intelligent Auto-scaling of Kafka Consumers with Workload Prediction | Ming S...
Intelligent Auto-scaling of Kafka Consumers with Workload Prediction | Ming S...Intelligent Auto-scaling of Kafka Consumers with Workload Prediction | Ming S...
Intelligent Auto-scaling of Kafka Consumers with Workload Prediction | Ming S...HostedbyConfluent
 

Was ist angesagt? (20)

Apache Kafka® Use Cases for Financial Services
Apache Kafka® Use Cases for Financial ServicesApache Kafka® Use Cases for Financial Services
Apache Kafka® Use Cases for Financial Services
 
Netflix Data Pipeline With Kafka
Netflix Data Pipeline With KafkaNetflix Data Pipeline With Kafka
Netflix Data Pipeline With Kafka
 
Streaming all over the world Real life use cases with Kafka Streams
Streaming all over the world  Real life use cases with Kafka StreamsStreaming all over the world  Real life use cases with Kafka Streams
Streaming all over the world Real life use cases with Kafka Streams
 
(BDT318) How Netflix Handles Up To 8 Million Events Per Second
(BDT318) How Netflix Handles Up To 8 Million Events Per Second(BDT318) How Netflix Handles Up To 8 Million Events Per Second
(BDT318) How Netflix Handles Up To 8 Million Events Per Second
 
Kafka 101
Kafka 101Kafka 101
Kafka 101
 
Schema Registry 101 with Bill Bejeck | Kafka Summit London 2022
Schema Registry 101 with Bill Bejeck | Kafka Summit London 2022Schema Registry 101 with Bill Bejeck | Kafka Summit London 2022
Schema Registry 101 with Bill Bejeck | Kafka Summit London 2022
 
Domain Driven Data: Apache Kafka® and the Data Mesh
Domain Driven Data: Apache Kafka® and the Data MeshDomain Driven Data: Apache Kafka® and the Data Mesh
Domain Driven Data: Apache Kafka® and the Data Mesh
 
Distributed stream processing with Apache Kafka
Distributed stream processing with Apache KafkaDistributed stream processing with Apache Kafka
Distributed stream processing with Apache Kafka
 
When NOT to use Apache Kafka?
When NOT to use Apache Kafka?When NOT to use Apache Kafka?
When NOT to use Apache Kafka?
 
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
 
Disaster Recovery Plans for Apache Kafka
Disaster Recovery Plans for Apache KafkaDisaster Recovery Plans for Apache Kafka
Disaster Recovery Plans for Apache Kafka
 
An Introduction to Confluent Cloud: Apache Kafka as a Service
An Introduction to Confluent Cloud: Apache Kafka as a ServiceAn Introduction to Confluent Cloud: Apache Kafka as a Service
An Introduction to Confluent Cloud: Apache Kafka as a Service
 
Apache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals ExplainedApache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals Explained
 
Deploying Confluent Platform for Production
Deploying Confluent Platform for ProductionDeploying Confluent Platform for Production
Deploying Confluent Platform for Production
 
Common issues with Apache Kafka® Producer
Common issues with Apache Kafka® ProducerCommon issues with Apache Kafka® Producer
Common issues with Apache Kafka® Producer
 
Real-Life Use Cases & Architectures for Event Streaming with Apache Kafka
Real-Life Use Cases & Architectures for Event Streaming with Apache KafkaReal-Life Use Cases & Architectures for Event Streaming with Apache Kafka
Real-Life Use Cases & Architectures for Event Streaming with Apache Kafka
 
Apache Spark on K8S Best Practice and Performance in the Cloud
Apache Spark on K8S Best Practice and Performance in the CloudApache Spark on K8S Best Practice and Performance in the Cloud
Apache Spark on K8S Best Practice and Performance in the Cloud
 
Unified Log Processing Architecture
Unified Log Processing ArchitectureUnified Log Processing Architecture
Unified Log Processing Architecture
 
Introduction to Kafka Streams
Introduction to Kafka StreamsIntroduction to Kafka Streams
Introduction to Kafka Streams
 
Intelligent Auto-scaling of Kafka Consumers with Workload Prediction | Ming S...
Intelligent Auto-scaling of Kafka Consumers with Workload Prediction | Ming S...Intelligent Auto-scaling of Kafka Consumers with Workload Prediction | Ming S...
Intelligent Auto-scaling of Kafka Consumers with Workload Prediction | Ming S...
 

Ähnlich wie Freie Fahrt für die Reisendeninformation mit Kafka Streams

Freie Fahrt für die Reisendeninformation mit Kafka Streams (Axel Löhn, Deuts...
Freie Fahrt für die Reisendeninformation mit Kafka Streams (Axel Löhn, Deuts...Freie Fahrt für die Reisendeninformation mit Kafka Streams (Axel Löhn, Deuts...
Freie Fahrt für die Reisendeninformation mit Kafka Streams (Axel Löhn, Deuts...confluent
 
Mit TRANSCONNECT® in die Cloud – Anwendungsbeispiele bei der DuMont Mediengru...
Mit TRANSCONNECT® in die Cloud – Anwendungsbeispiele bei der DuMont Mediengru...Mit TRANSCONNECT® in die Cloud – Anwendungsbeispiele bei der DuMont Mediengru...
Mit TRANSCONNECT® in die Cloud – Anwendungsbeispiele bei der DuMont Mediengru...SQL Projekt AG
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafkagedoplan
 
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...inovex GmbH
 
Public Cloud Erfahrungsbericht SBB
Public Cloud Erfahrungsbericht SBBPublic Cloud Erfahrungsbericht SBB
Public Cloud Erfahrungsbericht SBBBATbern
 
Süßwarenhersteller und Discounter launchen Webportal für EM 2016-Gewinnspiel
Süßwarenhersteller und Discounter launchen Webportal für EM 2016-GewinnspielSüßwarenhersteller und Discounter launchen Webportal für EM 2016-Gewinnspiel
Süßwarenhersteller und Discounter launchen Webportal für EM 2016-GewinnspielAWS Germany
 
Produkt-RoadMap 2019ff. (TRANSCONNECT®-ANWENDERTAG 2018)
Produkt-RoadMap 2019ff. (TRANSCONNECT®-ANWENDERTAG 2018)Produkt-RoadMap 2019ff. (TRANSCONNECT®-ANWENDERTAG 2018)
Produkt-RoadMap 2019ff. (TRANSCONNECT®-ANWENDERTAG 2018)SQL Projekt AG
 
With Kafka on the way to production/Kafka in produktion_ausblick
With Kafka on the way to production/Kafka in produktion_ausblickWith Kafka on the way to production/Kafka in produktion_ausblick
With Kafka on the way to production/Kafka in produktion_ausblickconfluent
 
2016 pcc presse_01_dcc_ferro_archivierung_ver04
2016 pcc presse_01_dcc_ferro_archivierung_ver042016 pcc presse_01_dcc_ferro_archivierung_ver04
2016 pcc presse_01_dcc_ferro_archivierung_ver04Ulrich Schmidt
 
Realtime BigData Step by Step mit Lambda, Kafka, Storm und Hadoop
Realtime BigData Step by Step mit Lambda, Kafka, Storm und HadoopRealtime BigData Step by Step mit Lambda, Kafka, Storm und Hadoop
Realtime BigData Step by Step mit Lambda, Kafka, Storm und HadoopValentin Zacharias
 
Innovationen aus der Cloud ganz einfach nutzen
Innovationen aus der Cloud ganz einfach nutzenInnovationen aus der Cloud ganz einfach nutzen
Innovationen aus der Cloud ganz einfach nutzenAmazon Web Services
 
Webinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpaces
Webinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpacesWebinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpaces
Webinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpacesAWS Germany
 
D4 Contentintegration CONET
D4 Contentintegration CONETD4 Contentintegration CONET
D4 Contentintegration CONETAndreas Schulte
 
Zentrales Logdaten-Management in der KfW - Splunk Public Sector Summit 2024
Zentrales Logdaten-Management in der KfW - Splunk Public Sector Summit 2024Zentrales Logdaten-Management in der KfW - Splunk Public Sector Summit 2024
Zentrales Logdaten-Management in der KfW - Splunk Public Sector Summit 2024Splunk EMEA
 
Automatisierungsprozesse bei der PoD-Produktion
Automatisierungsprozesse bei der PoD-ProduktionAutomatisierungsprozesse bei der PoD-Produktion
Automatisierungsprozesse bei der PoD-ProduktionNicole Royar
 
IT-Ringvorlesung - Präsentation Comparex
IT-Ringvorlesung - Präsentation ComparexIT-Ringvorlesung - Präsentation Comparex
IT-Ringvorlesung - Präsentation ComparexEmpfehlungsbund
 
MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5MT AG
 
Optimierung des europäischen Einzelwagenverkehrs im Kontext der digitalen Tra...
Optimierung des europäischen Einzelwagenverkehrs im Kontext der digitalen Tra...Optimierung des europäischen Einzelwagenverkehrs im Kontext der digitalen Tra...
Optimierung des europäischen Einzelwagenverkehrs im Kontext der digitalen Tra...camunda services GmbH
 

Ähnlich wie Freie Fahrt für die Reisendeninformation mit Kafka Streams (20)

Freie Fahrt für die Reisendeninformation mit Kafka Streams (Axel Löhn, Deuts...
Freie Fahrt für die Reisendeninformation mit Kafka Streams (Axel Löhn, Deuts...Freie Fahrt für die Reisendeninformation mit Kafka Streams (Axel Löhn, Deuts...
Freie Fahrt für die Reisendeninformation mit Kafka Streams (Axel Löhn, Deuts...
 
Mit TRANSCONNECT® in die Cloud – Anwendungsbeispiele bei der DuMont Mediengru...
Mit TRANSCONNECT® in die Cloud – Anwendungsbeispiele bei der DuMont Mediengru...Mit TRANSCONNECT® in die Cloud – Anwendungsbeispiele bei der DuMont Mediengru...
Mit TRANSCONNECT® in die Cloud – Anwendungsbeispiele bei der DuMont Mediengru...
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
 
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Am...
 
Public Cloud Erfahrungsbericht SBB
Public Cloud Erfahrungsbericht SBBPublic Cloud Erfahrungsbericht SBB
Public Cloud Erfahrungsbericht SBB
 
Süßwarenhersteller und Discounter launchen Webportal für EM 2016-Gewinnspiel
Süßwarenhersteller und Discounter launchen Webportal für EM 2016-GewinnspielSüßwarenhersteller und Discounter launchen Webportal für EM 2016-Gewinnspiel
Süßwarenhersteller und Discounter launchen Webportal für EM 2016-Gewinnspiel
 
Produkt-RoadMap 2019ff. (TRANSCONNECT®-ANWENDERTAG 2018)
Produkt-RoadMap 2019ff. (TRANSCONNECT®-ANWENDERTAG 2018)Produkt-RoadMap 2019ff. (TRANSCONNECT®-ANWENDERTAG 2018)
Produkt-RoadMap 2019ff. (TRANSCONNECT®-ANWENDERTAG 2018)
 
With Kafka on the way to production/Kafka in produktion_ausblick
With Kafka on the way to production/Kafka in produktion_ausblickWith Kafka on the way to production/Kafka in produktion_ausblick
With Kafka on the way to production/Kafka in produktion_ausblick
 
2016 pcc presse_01_dcc_ferro_archivierung_ver04
2016 pcc presse_01_dcc_ferro_archivierung_ver042016 pcc presse_01_dcc_ferro_archivierung_ver04
2016 pcc presse_01_dcc_ferro_archivierung_ver04
 
Realtime BigData Step by Step mit Lambda, Kafka, Storm und Hadoop
Realtime BigData Step by Step mit Lambda, Kafka, Storm und HadoopRealtime BigData Step by Step mit Lambda, Kafka, Storm und Hadoop
Realtime BigData Step by Step mit Lambda, Kafka, Storm und Hadoop
 
Innovationen aus der Cloud ganz einfach nutzen
Innovationen aus der Cloud ganz einfach nutzenInnovationen aus der Cloud ganz einfach nutzen
Innovationen aus der Cloud ganz einfach nutzen
 
Public Cloud im öffentlichen Sektor Von der Theorie zur Praxis 10 Jahre swiss...
Public Cloud im öffentlichen Sektor Von der Theorie zur Praxis 10 Jahre swiss...Public Cloud im öffentlichen Sektor Von der Theorie zur Praxis 10 Jahre swiss...
Public Cloud im öffentlichen Sektor Von der Theorie zur Praxis 10 Jahre swiss...
 
Webinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpaces
Webinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpacesWebinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpaces
Webinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpaces
 
D4 Contentintegration CONET
D4 Contentintegration CONETD4 Contentintegration CONET
D4 Contentintegration CONET
 
Sinnvoll genutzt: Roadmaps im agilen Zeitalter
Sinnvoll genutzt: Roadmaps im agilen ZeitalterSinnvoll genutzt: Roadmaps im agilen Zeitalter
Sinnvoll genutzt: Roadmaps im agilen Zeitalter
 
Zentrales Logdaten-Management in der KfW - Splunk Public Sector Summit 2024
Zentrales Logdaten-Management in der KfW - Splunk Public Sector Summit 2024Zentrales Logdaten-Management in der KfW - Splunk Public Sector Summit 2024
Zentrales Logdaten-Management in der KfW - Splunk Public Sector Summit 2024
 
Automatisierungsprozesse bei der PoD-Produktion
Automatisierungsprozesse bei der PoD-ProduktionAutomatisierungsprozesse bei der PoD-Produktion
Automatisierungsprozesse bei der PoD-Produktion
 
IT-Ringvorlesung - Präsentation Comparex
IT-Ringvorlesung - Präsentation ComparexIT-Ringvorlesung - Präsentation Comparex
IT-Ringvorlesung - Präsentation Comparex
 
MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5
 
Optimierung des europäischen Einzelwagenverkehrs im Kontext der digitalen Tra...
Optimierung des europäischen Einzelwagenverkehrs im Kontext der digitalen Tra...Optimierung des europäischen Einzelwagenverkehrs im Kontext der digitalen Tra...
Optimierung des europäischen Einzelwagenverkehrs im Kontext der digitalen Tra...
 

Mehr von confluent

Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Eraconfluent
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flinkconfluent
 
Unlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsUnlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsconfluent
 
Workshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con FlinkWorkshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con Flinkconfluent
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...confluent
 
AWS Immersion Day Mapfre - Confluent
AWS Immersion Day Mapfre   -   ConfluentAWS Immersion Day Mapfre   -   Confluent
AWS Immersion Day Mapfre - Confluentconfluent
 
Eventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkEventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkconfluent
 
Q&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent CloudQ&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent Cloudconfluent
 
Citi TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Diveconfluent
 
Build real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with ConfluentBuild real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with Confluentconfluent
 
Q&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service MeshQ&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service Meshconfluent
 
Citi Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka MicroservicesCiti Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka Microservicesconfluent
 
Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3confluent
 
Citi Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging ModernizationCiti Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging Modernizationconfluent
 
Citi Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time dataCiti Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time dataconfluent
 
Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2confluent
 
Data In Motion Paris 2023
Data In Motion Paris 2023Data In Motion Paris 2023
Data In Motion Paris 2023confluent
 
Confluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with SynthesisConfluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with Synthesisconfluent
 
The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023confluent
 

Mehr von confluent (20)

Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flink
 
Unlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsUnlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insights
 
Workshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con FlinkWorkshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con Flink
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
 
AWS Immersion Day Mapfre - Confluent
AWS Immersion Day Mapfre   -   ConfluentAWS Immersion Day Mapfre   -   Confluent
AWS Immersion Day Mapfre - Confluent
 
Eventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkEventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalk
 
Q&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent CloudQ&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent Cloud
 
Citi TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Dive
 
Build real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with ConfluentBuild real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with Confluent
 
Q&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service MeshQ&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service Mesh
 
Citi Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka MicroservicesCiti Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka Microservices
 
Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3
 
Citi Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging ModernizationCiti Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging Modernization
 
Citi Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time dataCiti Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time data
 
Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2
 
Data In Motion Paris 2023
Data In Motion Paris 2023Data In Motion Paris 2023
Data In Motion Paris 2023
 
Confluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with SynthesisConfluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with Synthesis
 
The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023
 

Freie Fahrt für die Reisendeninformation mit Kafka Streams

  • 1. 1 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Freie Fahrt für die Reisendeninformation mit Kafka Streams Axel Löhn, Deutsche Bahn AG Uwe Eisele, Novatec
  • 2. 2 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 DB Reisendeninformation
  • 3. 3 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Fachliche Weiterentwicklung der zentralen RI-Komponenten Maßgeschneiderte Lösungen Betrieb einer deutschland- weiten Datendrehscheibe Beratung & Koordination Kunden- und Mitarbeiterkanäle Karten-Services Daten-Services Analytic Services
  • 4. 4 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 6.200.000 Kunden › 5.000 Züge 12.200 Anzeigen › 9.500.000 Anfragen DB Navigator 800.000 Reisen › 6.000 Bahnhöfe >30.000 Involvierte Mitarbeiter (aus zehn Geschäftsfeldern) Zahlen pro Tag
  • 5. 5 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Informationskanäle • Bahn.de • DB Navigator • DB Bahnhof Live • …. • Abfahrtstafel • Gleisanzeiger • Störungskarten • Karten Services • …. • RIS Fahrzeug • WIFI@DB • …. • Betrieb Live • RIS Infoplattform • RIS Communicator • …
  • 6. 6 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 RI-Plattform
  • 7. 7 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Verbesserungen der Reisendeninformation über drei Zeithorizonte II. 1.2 Verbesserung der Reisendeninformation: „Rechtzeitig und korrekt informiert, jederzeit und überall“ Kurzfristige Verbesserungen der Reisendeninformation Umfassende Beseitigung der größten Kundenärgernisse inA 2016 Informationsplattform Reisendeninformation Konsistente, umfassende, modulare, diskriminierungsfreie Informationsplattform bis Ende B 2018 Wettbewerbsdifferenzierende Funktionen für Transporteure "State-of-the-art" Reisenden- information und innovative Reisendenbegleitung bis Ende C 2020
  • 8. 8 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Vorher Seit 08/2018 RI-Plattform Data RI-Plattform (Single Point of Truth) Data
  • 9. 9 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Start in Q2/2018 in Plauen, Vogtland Pilotphase Pilotphase über ein ein Jahr für ca. 80 Bahnhöfe mit ca. 350 Anzeigern in den Regionen Sachsen, Regensburg und Göttingen. GO LIVE
  • 10. 10 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Methoden & Technologien
  • 11. 11 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Methoden • Agile Entwicklung nach Scrum • Von Nexus zu eigenem, optimiertem Framework • Betrieb nach DevOps („You build it, you run it“) • Wöchentlicher Wissenstransfer und regelmäßige Bootcamps • Patenkonzept für Technologien • Synchronisation von Technik und Versionen
  • 12. 12 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Technologien Cloudcomputing wirtschaftliches Entwickeln und schnelles Skalieren bei Lastspitzen Microservices Reduktion technischer und organisatorischer Komplexität Verwaltung und Orchestrierung mit Kubernetes. Streaming (Event-driven) Kontinuierliche Verarbeitung und Lieferung von Datenströmen in Echtzeit
  • 13. 13 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Technologien
  • 14. 14 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 >110 Personen mit 13 Scrum Teams 24/7 Betriebsteam (DevOps) Mehrmals tägliche unterbrechungsfreie Änderungen in Produktion Eigenes Testteam mit selbst entwickeltem Testframework (Simulation Bahnbetrieb mit ~ 3 MioTestfällen) Livedatenverarbeitung über alle Stages
  • 15. 15 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Die Plattform erzeugt und verarbeitet >60 Mio Nachrichten pro Tag Produktionsumgebung besteht aus >100 virtuellen Servern in der AWS Cloud Die Anwendung ist verteilt über 3 AZ Die Teams entwickeln und testen ca. 80 Microservices Es finden täglich Dauerlasttests statt
  • 16. 16 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Kafka als Fundament
  • 17. 17 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Streaming Plattform Data Hub „RI-Plattform“ (Single Point of Truth) Prognose Apache Kafka Kundenfahrpla n OracleDB Betriebsfahrpla n Wagenreihung Bahnhofswisse n Dispositionen Zug-Positionen OracleAQFTPTCP Socket RabbitMQ IK Abfahrtstafel MatcherFahrtbuilder KonsolidierungAnalyse IK Gleisansagen IK Prognose IK VDV
  • 18. 18 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Verarbeitung von Daten des gesamten öffentlichen Personenverkehr in Deutschland in Echtzeit Flexibles hinzufügen neuer Features durch Entwicklung neuer Microservices Effiziente und zuverlässige Verarbeitung durch Aufbau individueller Views Integration unterschiedlichster Systeme (Echtzeit und periodische Lieferung) Aufbewahrung von Daten über die Dauer einer Zugfahrt (4 Tage) Jedes einzelne Event ist kunden- wirksam und muss daher garantiert ausgeliefert werden Für was nutzen wir Kafka?
  • 19. 19 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Wie hilft uns Kafka? Zuverlässige, zeitlich unbegrenzte permanente Speicherung von Daten ohne Beeinträchtigung der Zugriffszeit Beliebiger Einstieg im Datenstrom, sowie erneutes Lesen von Daten (kurze Anlaufzeit von neuen Features und nach Fehler) Unterstütz Pub/Sub und Competing Consumer Pattern auf demselben Topic (ohne Auswirkung auf Datenmenge) Sowohl Anwendungen als auch die Broker können flexibel skaliert werden (über die Anzahl der Partitionen) Reihenfolge wird pro Partition garantiert Integration von Systemen unabhängig vom Workload, da Kafka als Puffer agiert
  • 20. 20 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Kafka Streams in der Reisendeninformation
  • 21. 21 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Innerhalb der Plattform setzen wir mittlerweile vollständig auf Kafka Streams (1.1.1-cp1) Die Anbindung von Quellen und Abnehmern erfolgt über die Kafka Consumer bzw. Producer API (Kafka Connect wird bei uns aktuell nicht verwendet) Streaming Technologies
  • 22. 22 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Kafka Streams zur Verarbeitung von Datenströmen Kafka Streams https://docs.confluent.io/current/streams/introduction.html Kafka Streams benötigt kein separates Cluster Einfacher Betrieb und gute Skalierbarkeit
  • 23. 23 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Kafka Streams zur Verarbeitung von Datenströmen Kafka Streams Robust und zuverlässig Kafka Integration für Apache Storm problematisch • Letztes Release der Storm Kafka-Client Library vom Mai 2018 • Starte Abhängigkeit der Storm Version zur Kafka Version • Storm Kafka Library hat fetch.min.bytes=0 gesetzt, wodurch Broker sehr stark belastet wurden Kafka Streams zu Kafka Broker vor- und rückwärts-kompatibel (dadurch unabhängig voneinander aktualisierbar Sehr gute Betriebs und Entwickler Dokumentation Kafka Streams ist Teil des Kafka Ökosystems (dadurch erprobt, kompatibel und immer aktuell) https://www.confluent.io/blog/upgrading-apache-kafka-clients-just-got- Einfache DSL für Entwicklung
  • 24. 24 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Kafka Streams als verteilte Datenbank Stateful Verarbeitung mit Kafka Streams State Stores Stateful Verarbeitung mit globaler Datenbank (Cassandra, PostgreSQL, Hazelcast) Kafka Streams App Kafka Streams App https://docs.confluent.io/current/streams/architecture.html  Für Verarbeitung erforderliche Daten liegen lokal vor  Keine zusätzlichen Abhängigkeiten und niedrige Latenz  Programmiermodell verhindert Race Conditions und Inkonsistenzen (Verarbeitung in einem Thread!)  Zustand in eigenem Topic gesichert, wodurch nach Ausfall einer Instanz eine andere übernehmen kann  Datenbank kann zu Bottleneck werden  Zusätzliche Netzwerkkommunikation  Das sicherstellen der erforderlichen Konsistenz und die Vermeidung von Race Conditions ist ein Herausforderung
  • 25. 25 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Kafka Streams als verteilte Datenbank Kafka Streams State Stores Massive Verbesserung der Performance: Dauer der Verarbeitung des Fahrplanimports von 20 auf 2 Minuten reduziert Zughalt Haltphase Abo Gleisansagen Bahnhof
  • 26. 26 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Problemstellungen Rebalancing führt zu „Stop-the-World“-Effekt Wenn ein Prozess eine Gruppe verlässt oder dieser beitritt, unterbrechen alle Mitglieder der Gruppe die Verarbeitung und stimmen sich ab, um die Zuweisungen zu den Kafka Partitionen neu zu verteilen. Die Auswirkungen auf folgende Use Cases sollte reduziert werden: • Kubernetes Prozess stirbt • Rolling bounce • Scale up/down An einer Lösung wird gearbeitet (Under Discussion): https://cwiki.apache.org/confluence/display/KAFKA/Incremental+Cooperative+Rebalancing:+Support+and+Policies KIP-429: Incremental Rebalance Protocol (https://cwiki.apache.org/confluence/display/KAFKA/KIP- 429:+Kafka+Consumer+Incremental+Rebalance+Protocol) KIP-441: Smooth Scaling Out (https://cwiki.apache.org/confluence/display/KAFKA/KIP- 441:+Smooth+Scaling+Out+for+Kafka+Streams)  Unsere Anforderung: Die Verarbeitung wird nur für betroffene Partitionen unterbrochen.  Ein vorübergehendes Ungleichgewicht hat weniger Auswirkungen als viele Umverteilungen
  • 27. 27 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 • Upgrade auf Kafka Streams 2.2.0-cp2 (Confluent 5.2.1) • Erarbeitung von Best Practices für State Store Konfiguration, Upgrade, … (e.g. zur Reduzierung der Dauer von Rebalances) • Evaluierung von KSQL Nächste Schritte
  • 28. 28 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Deployment & Betrieb von Apache Kafka
  • 29. 29 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 • Aktuell Einsatz von Confluent Plattform 4.1.1 • Betrieb in AWS Cloud auf EC2 Instanzen • Zum Einsatz kommt Kafka, Zookeeper und Schema Registry • Die optimale Konfiguration wurde mit AWS und Confluent ermittelt • 4 Cluster mit Live-Daten (von Dev bis Prod) + weitere Cluster für Test und Entwicklung Apache Kafka
  • 30. 30 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Deployment (Stretch Cluster) r4.2xlarge • 8 vCPUs • 61GB Memory • Up to 10Gbit Network • 1TB EBS/gp2 (3000 IOPS) r4.large • 2 vCPUs / 15,25 GB m4.large • 2 vCPUs / 8 GB
  • 31. 31 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 0 20 40 60 80 22.04 (Mo) 23.04 (Di) 24.04 (Mi) 25.04 (Do) 26.04 (Fr) 27.04 (Sa) 28.04 (So) 29.04 (Mo) 30.04 (Di) 01.05 (Mi) 02.05 (Do) 03.05 (Fr) 04.05 (Sa) 05.05 (So) Anzahl Nachrichten (in Millionen) Eingang (Avg: 3,22) Ausgang (Avg: 8,83) Intern (Avg: 54,25) Aktuelle Auslastung der Broker Topics 215 Partitionen 2387 Replicas pro Broker 1194 / 2000 Log Size 1,8 TB Datenvolumen pro Tag 125 GB CPU Usage (%) 14 Avg / 60 Max Replicas 7157 Network Tx (MBs) 2,4 Avg / 39 Max Network Rx (MBs) 1,3 Avg / 34 Max Records / sec (in Tausend) 1.2 Avg / 27 Max
  • 32. 32 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Persistenz – Don‘t fear the filesystem https://docs.confluent.io/current/kafka/deployment.html#jvm  Kafka verwendet Mapped Byte Buffer für den Zugriff auf die Log Segmente  Schreiben:  Records werden aus Sicht von Java direkt in die Seg- mente geschrieben  OS entscheidet wann tat- sächlich geschrieben wird  Ein Record wird unabhängig davon, ob dieser tatsächlich geschrieben wurde, als committed  Lesen:  Direkt aus dem Arbeitsspeicher  Zero-Copy: Records müssen nicht in Heap kopiert werden um diese zu versenden  Log Struktur erlaubt sequenzielles lesen und schreiben der Segmente  Neustart von Kafka sehr schnell, da die Daten bereits im Page Cache liegen Größe des Arbeitsspeicher sollte so gewählt sein, dass im Normalbetrieb nicht auf die Disk zugegriffen werden muss. JVM Heap (GB) 1,6 Avg / 3,5 Max
  • 33. 33 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Durchsatz-Test 2 Topics mit 12 Partitionen und Replikation 3 for i in 1 2 3 4 5 6 7 8 9 10 11 12; do docker run -d --name kafka-producer-benchmark-$i --net host confluentinc/cp- kafka:5.2.0 kafka-producer-perf-test --topic sherlock-benchmark-producer --num-records 100000 --record-size 2048 -- throughput -1 --producer-props bootstrap.servers=smoky03-kafka01:9092 batch.size=1 max.in.flight.requests.per.connection=1 acks=-1; done 24 Instanzen:  1287.100677 batches/sec (2.51 MB/sec) pro Instanz 39,2k batches/sec  Aktuell werden bei Fahrplanimport ca 8,8k batches/sec erreicht
  • 34. 34 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Skalierung Hinzufügen von neuen Brokern BessererInstanz-Typ Größere/zusätzlicheVolumes r5.4xlarge • 2TB EBS
  • 35. 35 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Garantien, Availability und Durability  At Least Once Delivery  Einhaltung der Reihenfolge pro Partition Die Garantien müssen auch noch eingehalten werden wenn:
  • 36. 36 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Garantien, Availability und Durability L F F  Replikation Factor 3 ISR  min.insync.replicas = 2  At Least Once Delivery  Einhaltung der Reihenfolge pro Partition Die Garantien müssen auch noch eingehalten werden wenn: Partition: Client:  acks = all (Producer / Streams)  replication.factor = 3 (Streams) Broker:  unclean.leader.election = false
  • 37. 37 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Garantien, Availability und Durability  At Least Once Delivery  Einhaltung der Reihenfolge pro Partition Die Garantien müssen auch noch eingehalten werden wenn: Broker:  Rackawareness: brocker.rack = (1a|1b|1c)
  • 38. 38 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Garantien, Availability und Durability  At Least Once Delivery  Einhaltung der Reihenfolge pro Partition Producer:  max.in.flight.requests.per.connection = 1 L F Client 1 2 3  retries = Integer.MAX_VALUE (default ab 2.1.0)NOT_ENOUGH_REPLICAS 1 1 2 3 1
  • 39. 39 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Monitoring und Alarmierung
  • 40. 40 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Herausforderungen Dauerhafte „under replicated partitions“ Konfiguration zusammen mit AWS und Confluent optimiert. Problem nicht mehr aufgetreten
  • 41. 41 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Herausforderungen Produktiver Betrieb eines Kafka Clusters in der Cloud, mit welchem 13 Teams arbeiten Monitoring, Alarmierung und Troubleshooting Verhalten des Cluster im Fehlerfall Überwachung und Planung des Wachstums Team Support
  • 42. 42 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 • Upgrade auf Confluent 5.2.1 (Client und Broker) • Evaluierung R5 Instanz-Typ und Einsatz von 5 Zookeeper • Anbindung ÖV (+ ~750.000 Sollfahrten pro Tag) • Evaluierung Kafka Operator und Kubernetes für Orchestrierung der Middleware • Evaluierung von Kafka Security • Verwaltung von Topics über Kubernetes Controller Nächste Schritte
  • 43. 43 Deutsche Bahn AG | Reisendeninformation | PZ | Mai 2019 Fragen?