O3one MQ
April 2020
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 :
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.
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
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 !
-
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.
-
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