Download - Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ThingMonk 2016
Running UK railway with
Eclipse Paho & MosquittoPresented by: Kamil Baczkowicz, September 2016
Agenda
Running UK railway with Eclipse Paho & Mosquitto 2
• Signalling in 60 seconds
• IECC Scalable
Overview
Architecture
• Eclipse IoT components
Eclipse Paho (Java Client & mqtt-spy)
Eclipse Mosquitto
• Lessons learnt & best practices
Running UK railway with Eclipse Paho & Mosquitto 3
• Tracks
• Signals
• Points (switches)
• Routes
• Interlockings
Signalling concepts
Running UK railway with Eclipse Paho & Mosquitto 4
Evolution of interlockings
IECC Scalable
Running UK railway with Eclipse Paho & Mosquitto 5
IECC Scalable architecture
Running UK railway with Eclipse Paho & Mosquitto 6
High availability (99.9995%)
Hardware & software
redundancy
Low maintenance
High-throughput &
low-latency messaging
Running UK railway with Eclipse Paho & Mosquitto 7
• Java Client– Synchronous and asynchronous APIs– Highly resilient
• mqtt-spy– Simple pub/sub– Advanced filtering & scripting– Decoding custom message formats
• mqtt-spy-daemon– Command line (no GUI)– Aimed at automated testing– XML configuration & Java API
Running UK railway with Eclipse Paho & Mosquitto 8
• Lightweight, production-grade MQTT
broker (server implementation of the
MQTT protocol)
• High throughput & low latency
messaging
• Since first deployment, over 20 000
hours of service without interruption
Lessons learnt & best practices
Running UK railway with Eclipse Paho & Mosquitto 9
• Pub/sub vs point-to-point
• QoS 0 (fire & forget) vs QoS 1&2 (persistent)
Performance
Maintenance
Data loss & retry
• Payload compression (XML / JSON)
• Testability (intercepting & injecting)
• Test automation (functional & performance)