Modern Websocket Gateway Server

Problems

Classic Web

classic-web.svg

Adding WS 1

websockets-pubsub.svg

Adding WS 2

websockets-single.svg

Cons.

Introducing Swindon

A modern HTTP edge server

with smart websocket support

Swindon

Basic Picture

swindon-basic.svg

Recall: WS 1

websockets-pubsub.svg

Basic Picture Again

swindon-basic.svg

Recall: WS 2

websockets-single.svg

Key Points

WS Proto

RPC

Routing

RPC Features

Pub-Sub

☂ vs WAMP

(*) Web Application Messaging Protocol

Pub-Sub

Lattice

The Task

chat.png

Components

Issues

Eventual Consistency

Eventual Consistency

Pub-Sub

Consistency2

Consistency3

CRDT

Commutative Replicated Data Types

CRDT

Solves eventual consistency problem

CRDT

Counters

CRDT: Money

Two ever growing counters:

Unread Messages

Lattice

Lattice Birdview

lattice-birdview.svg

Lattice CRDT

lattice-crdt.svg

Lattice Values

lattice-values.svg

Lattice

Simple to Run

swindon-dev ./public /api/=http://localhost:8111

Q & A

cargo install swindon