O3one MQ

April 2020

O3oneMQ logo

O3one MQ is a simple, yet powerful messaging broker. It is based on lightweight ØMQ protocol.

Server Side

The server listen to two port, one for the publishing and one for the subscribers. They are 5555 and 5556 by default. It also opens a web dashboard on the default port 9000. The database is by default only a memory-mapped file (MMAP) that overwrite itself using rotating buffer. It is possible to switch to SQLite with Peewee by enabling persist_enabled but this would imply important performance decrease.

It will great you by its following Command Line Interface when starting :

Command Line Interface of the server

All of the output is logged into a simple “o3-debug.log” file into the “log” folder of the server.

The server also provide a WebSocket interface for subscription from a browser or modern application thanks to the websockets package.

Web Interface

The web UI is developed using Jinja2 template and Bootstrap 4 CSS. It uses the API interface exposed at the /api endpoint of the web dashboard to get health, replication and other information like uptime.

View last enqueued items

The chart is generated using Chart.js and the information are gathered from the WebSocket interface on the port 8765 of the server.

The “Queue Inspection” tool is able to see realtime what’s in the queue and follow last 100 messages

View last enqueued items

Watch it in action

Also Read

  • OVH Legacy analysis

    OVHManager

    Re-Implementing the OVH Manager control panel in order to understand why it's so slow. Spoiler alert, Legacy code is to blame there !

    • SvelteKit
    • REST
    • Legacy
    • PoC
  • Phaser web IDE

    Phaser Studio

    Building a PhaserJS IDE using reactive binding with Svelte and TypeScript object mapping from PhaserJS. The scenes are passed from CustomEvent and listed in Inspector view.

    • PhaserJS
    • Web IDE
    • Svelte
    • TypeScript
  • Hotel Booking Engine

    AstroBooking

    Re-Implementing UX from popular booking website to make a smooth and responsive booking UX (even on mobile !) and see where it goes

    • AstroJS
    • REST
    • DatePicker
    • PoC

Want more ?

I've got a lot of other awesome projects

See them all !