10
Running UK railway with Eclipse Paho & Mosquitto Presented by: Kamil Baczkowicz, September 2016

Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ThingMonk 2016

Embed Size (px)

Citation preview

Page 1: 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

Page 2: Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ThingMonk 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

Page 3: Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ThingMonk 2016

Running UK railway with Eclipse Paho & Mosquitto 3

• Tracks

• Signals

• Points (switches)

• Routes

• Interlockings

Signalling concepts

Page 4: Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ThingMonk 2016

Running UK railway with Eclipse Paho & Mosquitto 4

Evolution of interlockings

Page 5: Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ThingMonk 2016

IECC Scalable

Running UK railway with Eclipse Paho & Mosquitto 5

Page 6: Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ThingMonk 2016

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

Page 7: Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ThingMonk 2016

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

Page 8: Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ThingMonk 2016

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

Page 9: Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ThingMonk 2016

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)

Page 10: Running UK railway with Eclipse Paho and Eclipse Mosquitto – Eclipse IoT Day ThingMonk 2016