Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

batbern43 Rail Control System: hochverfügbare Anwendungen für die Bahnproduktion

202 views

Published on

Die Schweizerischen Bundesbahnen betreiben eines der weltweit dichtest befahrenen Bahnnetze der Welt. Zur Überwachung und Steuerung ist seit nunmehr 10 Jahren das eigenentwickelte Rail Control System (RCS) im Einsatz und wird laufend weiterentwickelt. In dieser Präsentation stellen wir die auf Event-Verarbeitung basierenden Lösungsansätze vor, welche die hohen Anforderungen bezüglich Latenz und Hochverfügbarkeit für Systeme der Bahnproduktion adressieren

Published in: Software
  • Be the first to comment

  • Be the first to like this

batbern43 Rail Control System: hochverfügbare Anwendungen für die Bahnproduktion

  1. 1. Rail Control System: Hochverfügbare Anwendungen für die Bahnproduktion E. Wernli / M. Hoffmann
  2. 2. Rail Control System: Hochverfügbare Anwendungen für die Bahnproduktion 2 Die Schweizerischen Bundesbahnen betreiben eines der weltweit dichtest befahrenen Bahnnetze der Welt. Zur Überwachung und Steuerung ist seit nunmehr 10 Jahren das eigenentwickelte Rail Control System (RCS) im Einsatz und wird laufend weiterentwickelt. In dieser Präsentation stellen wir die auf Event-Verarbeitung basierenden Lösungsansätze vor, welche die hohen Anforderungen bezüglich Latenz und Hochverfügbarkeit für Systeme der Bahnproduktion adressieren Erwann Wernli Leadarchitekt RCS @wrnli Marc Hoffmann Softwarearchitekt RCS @marcandsweep
  3. 3. AGENDA • Problemstellung ▪ Fachlicher Kontext ▪ Hochverfügbarkeit und Disaster Recovery ▪ Technologiestack • Mechanismen • Kommunikationsinfrastruktur • Hochverfügbarkeitsmechanismen • Verarbeitungsmuster • Datenhaltung • Disaster Recovery • Herausforderung Zukunft 3
  4. 4. Problemstellung
  5. 5. Von der Planung bis zur Zugfahrt Langfristplanung Jahresfahrplan Tagesfahrplan Disposition Lenkung Jahre Tage Minuten Sekunden Hochverfügbar > 1000 Msg/s < 1s Latenz 5
  6. 6. Netzweite Disposition Netzweite Prognose Echtzeit Betriebslage Gleis-/Signal- genau ➔ Bessere Auslastung des Netzes ➔ Höhere Pünktlichkeit
  7. 7. Regelkreis im System Bahn Disposition Optimierung Prognose Betriebsabbild Lenkung 7
  8. 8. ClientPersistenz & Caching Messaging Runtime RCS Technologie-Stack Java 8 OSGi / Equinox Tibco Rendezvous Coherence Oracle DB Hibernate Eclipse RCP 8
  9. 9. Definition: Hochverfügbarkeit 9 Aspekte NFR Kein spürbarere Ausfall auf Service Level Management Vollautomatisch Use Cases • Partielle, physische Ausfälle • Ausfall einzelner Nodes • Absturz einzelner Services • (Service Upgrade) Strategien • Hardware Redundanz • Logische Redundanz von Services und State • Evtl. Location Redundanz https://de.wikipedia.org/wiki/Hochverf%C3%BCgbarkeit
  10. 10. Definition: Disaster Recovery 10 Aspekte NFR Durch den Business Case gegeben: • Recovery Time Objective (RTO) • Recovery Point Objective (RPO) Management Manueller Eingriff nach bewusster Entscheidung Use Cases • Physischer Totalverlust (Brand, Naturkatastrophen, …) • Vollständiger Stromausfall oder Netzwerkunterbruch • Fehlmanipulationen • Bugs • Kaputter Release ("botched") Strategien • Standortredundanz • Vollständige logische Separation • Restore https://de.wikipedia.org/wiki/Disaster_Recovery
  11. 11. Verfügbarkeitsanforderungen bei RCS  Quality Key Attributes • Verfügbarkeit inkl. Wartungsfenster 99.8% • Failover Server 20 s • Disaster Recovery 15 min • Wartungsfenster (max. 6 pro Jahr) 1 h → Mit 99.8% Verfügbarkeit inkl. 6 Wartungsfenster à 1 h verbleiben 11.5 h pro Jahr 11
  12. 12. Mechanismen
  13. 13. RCS Verarbeitungsmodel • 40+ Prozessgruppen • 200+ Prozess-Instanzen • Asynchrone Kommunikation • Choreographie ohne zentrale Koordination ClientProzesseProzessorenVerar-beiterVear-beiter Dispo Umsysteme Support Prozesse D Br RT-EXADL HOT Infr a FahrplanIEIST Taxi CIS FOS CIS IProz FOS Proz ZLR LTA+ Obj Mgr ZDS Imp Pro g Prog CP IST DQ IE DQ Fpl DQ PSS Proz (BLS/SBB) PSS ILTIS Form Ver Hot Mon GEMS Msg Sche FEG Sup visor Cli Prox Reg Serv TW M Ansc Rec Taxi Ver Taxi Proz GEM Proz Adm Adm Task Bta Proc (BLS/SBB) I DQ In H Prox In H PT ALEA KVZ Archiv ZLD BTA Zabr DQ EMS Proz PAIP RTX Core Data Imp DiBr ExIm UNO Hot Opt nKet Rech UNO Imp Afi Ad IE Ver ZLR FZeit Last Mon Cac Load TZD Gen Dis Ver Fpl Ver BL KernVTief Prog M Dir Ses Mgr Mgm Afi DiBr ExIm Lta Proz Synt Proz CBT Prox GBT Prox PAIP Int ZN Term Znt Prox RV Prox PTS Proz ZKE ZKE Int HOT ZLV 13
  14. 14. ClientSubnetzServerSubnetz Hochverfügbarkeit auf Kommunikationsebene Verteilte Architektur RVRD RVRD RVRD RVRD RVD RVD RVD TCP/IP Queue TCP/IP Filtering Betriebslage RVD RVD Multicast Zentrale Architektur Multicast Tibco Rendez-Vous (very to many) (one to few) 14
  15. 15. Hochverfügbarkeit auf Prozess-Ebene Distributed Queue DQ Prozess A DQ Prozess DQ Prozess B C FT Prozess Fault Tolerant Group FT Prozess A B C A B C aktiv passiv Redundanz kritischer Komponenten Fehlertolerantes Verhalten Voraussetzungen für Hochverfügbarkeit
  16. 16. FT-Prozesse und Statehandling Non Recoverable State Recoverable DB, Cache, … 1Deterministische Verarbeitung garantiert fachlich Äquivalenz 1 Failover 2 3 Failover 2 16
  17. 17. Verarbeitungsmuster Es gibt zwei primäre Muster in RCS 17 Event-getriebene Verarbeitungen Kontinuierliche Verarbeitungen Datensicht Local Global HA DQ FT Beispiele Dispositionen Client Requests Datentransformationen … Prognose Optimierungen Statehandling Cache / Datenbank In-Memory
  18. 18. Typen von Events Notification: A Notification of change in the domain • Zugstandortmeldung • Fahrempfehlung • Import completed • … Event-Carried State Transfer: Replication of state • Fahrplanupdate • Prognose • … 18 Siehe https://martinfowler.com/articles/201701-event-driven.html
  19. 19. Daten und Temporalität 19 Uni-temporal Bi-temporal
  20. 20. Datenhaltung Typ Interessen- bereich Eigenschaften In-Memory Store [0, +90 M] • In-Process Heap • Keine Serialisierung • Volume: GBs / pro Prozess Distributed Cache [-1 H, +4 H] • Verteilter Cache mit Replication • Object Serialisierung • Volume: mehrere GBs Datenbank [-5 T, + 27 H] • Oracle RAC • Object-Relational Mapping • Volume: mehrere GBs 20 Zeit jetzt
  21. 21. Disaster Recovery 21 Aktive Produktion Standort A Passive Produktion Standort B Tibco Router Dispo Bridge Umsysteme >400 RCS-Arbeitsplätze
  22. 22. Herausforderung Zukunft
  23. 23. Steigende Automatisierung • Verstärkte Abhängigkeit von Softwarelösungen ➔ Grosse Auswirkungen bei Ausfällen • Umfassende Optimierungen ➔ Hohe Anforderungen an Datengenauigkeit ➔ Steigende Datenmengen und Rechenbedarf • Feedbackloops mit dem System Bahn ➔ Anspruchsvolle Integrationstests 23
  24. 24. Hochverfügbarkeit und Cloud Pro • Flexible und schnelle Entwicklung durch moderne Deploymentverfahren • Hohe Skalierbarkeit – wenn die Applikation dafür entwickelt ist Contra • Gegenseitige Beeinflussung von Anwendungen auf geteilten Plattformen • Unzuverlässige Netzwerkanbindung externer Clouds • Zu schwache SLAs • Behandlung von zustandsbehafteten Services 24
  25. 25. Viele Dank! Fragen? 25 jobs.sbb.ch Erwann Wernli Leadarchitekt RCS @wrnli Marc Hoffmann Softwarearchitekt RCS @marcandsweep

×