When: 10th Oct 2017, 19:00 - 10th Oct 2017, 21:00
Where: University of Gloucestershire in Room TC014, ‘Teaching Centre’, The Park Campus, Cheltenham, GL50 2RH
Town/City: Cheltenham
Organiser: BCS Cheltenham and Gloucester Branch
Further Information: Further Information

A distributed, highly-available and self-healing communication pipeline for event-driven microservices architecture

Flock is a machine and language agnostic framework that enables low-latency, highly available and eventually consistent event-driven messaging across web applications, Internet of Things (IoT) and embedded systems connected to internet. Flock packets are simple MessagePack objects signed with JSON Web Tokens (JWTs) using HS256 algorithm and compressed following GNU zip standard. These packets are exchanged across user applications by establishing interactive full-duplex communication called event channels.

The Flock framework initialises these event channels from the ground-up to support high availability and fault-tolerance using Erlang/Björn's Abstract Machine (BEAM) Supervisors and Flock algorithm. Flock algorithm is a variant of δ-CRDT's (Almeida et al., 2014) and heartbeat protocol (RFC 6520) (Tuexen et al., 2012) that causes a causally connected chain of supervised Erlang processes using dynamic content-based routing schemes. These processes are isomorphic to the queue of end-user events and ensures high availability and strong eventual consistency independent of the scale and complexity of a given application.