Back to Blog
·AlgoX2 Team·Product

A Tour of the AlgoX2 Web Console

A streaming platform is easy to describe and hard to see. Messages go in, messages come out, and everything interesting happens in between, out of sight.

The AlgoX2 web console is built to show the in-between. It connects to a running cluster and lets you watch packets arrive, follow them across the backplane, open any stream and read its messages, and drop into a shell on any node. This is a tour of it, on a four-node cluster running on Amazon.

Connecting

The console starts by asking which cluster to connect to. With anonymous access, you get whatever any user is granted: the public streams and the screens that go with them. One click, and the console is connected.

Below the connect panel is the running cluster. The data flow widget draws the packets going into its four nodes and out to the subscriptions. Here the only subscription is the console’s own telemetry. Other tabs list the nodes and which of them are online, the processes running on the cluster, and its topology.

Load on the box

To give the console something to show, 20 publishers start sending traffic at a steady rate. The cluster has eight gateways across its four nodes, and the data flow widget shows traffic arriving at each of them.

The backplane

The backplane screen shows what happens inside the cluster: the multicast flows between nodes. Highlight one multicast group and you see how AlgoX2 scales. One node sends a message, and the data is replicated to four other nodes at once. AlgoX2 takes advantage of the network switch’s ability to replicate packets, and that is where its scalability comes from.

On Amazon there is no hardware switch to do it, so the multicast is simulated. AlgoX2 has native drivers for Ethernet multicast and InfiniBand unreliable datagrams, and on premises or on an appliance those give the highest performance. In the cloud it still works well, because the backplane is not TCP/IP. There are no point-to-point connections, so there is no back pressure. The backplane is built for packets that get lost and redelivered, which makes it loss-resistant.

Inside AlgoX2 explains why the architecture is built around multicast.

A file system of streams

The data dashboard shows that AlgoX2 is, conceptually, a streaming file system. Instead of files there are streams, arranged in a familiar tree. The public directory holds the 20 streams the publishers just created.

Open one, and the live view shows its first 10 and last 10 messages. Click a message to see its contents and its two times:

  1. Event time, assigned by the producer, down to the nanosecond.
  2. Sequencer time, assigned by AlgoX2 when the message is ordered.

Those are the two attributes of every message that the storage subsystem stores and indexes. You can scroll through the messages or ask for a range of them. Every widget has a question mark that opens its documentation, including the syntax for message ranges.

For operators

The health panel lists alerts. AlgoX2 comes with an RFC-compliant alerts engine, with shelving and the usual categories, and alerts clear themselves when the condition goes away. It is built so that an operator can diagnose a problem quickly.

The connections panel lists every active connection. Any widget can draw sparklines, switched on in its settings, and its columns can be filtered and sorted.

The admin screens list the ACLs defined for each user, the principals, and the audit log. An anonymous user sees little of this. Reconnecting with a root token from the connect page changes that.

A shell on every node

With root, the console opens a session on any node of the cluster. There, x2cli, the built-in command line, has completion and a help screen. It lists connections and partitions, runs diagnostics, and more.

The question mark on each widget ties the console to that command line. The help for the ACLs widget, for example, shows the matching x2cli command in a familiar Unix-like format, with a description and sample output. It also gives the REST endpoint that does exactly the same thing, with the same attributes and the same meaning, a curl example to start scripting with, and the JSON format of the response. A full documentation page lists every command the system accepts.

Dashboards you can share

Any dashboard can be duplicated into a custom one. Its configuration can be copied as source and sent to someone else. When they paste it into their own console, they get exactly the same view, with the same presets and colours. The console also has a dark theme and keyboard shortcuts.

Everything a cluster does is a stream, and the console is a way of reading those streams. What it shows is what the cluster is doing, as it does it.

Watch the video

Watch on YouTube


Want more context on the platform? Read about the product, or get in touch with us on the contact page.