Skip to main content

Architecture

Overview

The KeySquare platform is a low-latency high-performance messaging bus.

This diagram shows a simplified view of the main components that form the platform:

Platform

Sequencer Architecture

The message bus uses a Sequencer Architecture. Every published message is assigned a unique sequence number and timestamp before being added to a single ordered stream. This guarantees that all subscribers observe messages in the same order and can process events consistently.

Most message buses only guarantee message ordering per publisher. While messages from a single publisher are delivered in order, messages published concurrently by multiple publishers can be interleaved differently for different subscribers. As a result, two subscribers may observe the same set of messages in different orders and reach different state outcomes. A Sequencer Architecture eliminates this ambiguity by establishing a single global order for all messages, ensuring deterministic behaviour across all subscribers.

Components

ComponentDescription
SequencerApplies a sequence number and timestamp to all data published.
RelaysProvide applications with connectivity to live sequenced data as well as the last value that was previously published for a given topic.
MonitorCollects telemetry from the platform for use in monitoring dashboards.
Key AccessApplication and User permissions. Platform access control and resiliency services.
WorkspaceUser Interface that allows bespoke views of data.
ProxyProvides TCP based connectivity to the platform for applications that are unable to use IPC / UDP.