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

  • Distributed Music Player

    VoKal Desktop

    A music player project syncing itself from a stream server. It was part of an important ecosystem and provided the user GUI.

    • B4SS
    • JavaFX
    • Distributed
    • Radio Stream
  • SVDX Midi Controller

    SVDX Midi Map

    A deep dive on how to use Midi controller on some rhythm game

    • Python
    • Midi
    • PyGame
    • SVDX
  • TailWind CSS practice

    Discord's Landing page clone

    Trying to make an almost-identical clone of the Discord landing page with TailwindCSS and SvelteJS

    • Tailwind CSS
    • Design Clone
    • Landing Page

Want more ?

I've got a lot of other awesome projects

See them all !