# nanomq/nanomq

An ultra-lightweight and blazing-fast Messaging  Bus/MQTT Broker for Edge & SDV

Repository: https://github.com/nanomq/nanomq
Canonical: https://ross.abutalabs.com/products/nanomq
Homepage: https://nanomq.io
Language: C
License: MIT
License Family: permissive
Topics: mqtt, mqtt-broker, iot-edge, nng, aio, actor-model, asynchronous, smp, parrallel-computing, iot, messaging, mqtt-server, manufacturing, mqtt-protocol, mqtt5, pubsub, iiot, mosquitto, connected-vehicles, software-defined-vehicle
Last push: 2026-08-24T03:58:54+00:00

## Health v2 (maintenance only)
Score: 99/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 98, longevity 100
- inputs: {"age_days": 3580, "days_push": 9, "days_rel": 14, "gap_med": 19, "n_releases_24m": 28}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2592, forks 308 (observed 2026-08-28T04:07:02.976892+00:00)

## What it is
NanoMQ is an ultra-lightweight, high-performance MQTT broker and messaging bus written in C for IoT/IIoT edge computing and software-defined vehicles. Built on NNG's asynchronous I/O with an actor-model architecture, it supports MQTT 3.1.1/5.0, bridging, rule engines, and message persistence.

## Use cases
- run a lightweight mqtt broker on an edge device
- broker mqtt messages between iot sensors and the cloud
- bridge mqtt data from edge to multiple cloud services
- deploy an mqtt broker in docker for pub/sub messaging
- handle mqtt traffic on multi-core embedded hardware
- persist mqtt messages offline and resume upload when reconnected
- use mqtt messaging in a software-defined vehicle

## When to choose
- you need a fast, low-footprint MQTT broker for edge or embedded devices
- you want MQTT 5.0 support with bridging, persistence, and a rule engine
- you need good SMP/multi-core performance compared to Mosquitto
- you want a POSIX-portable, pure C broker for ARM or x86 edge platforms

## When to avoid
- you need a full-featured enterprise MQTT cluster with horizontal scaling (consider EMQX)
- you only need a simple single-core broker and Mosquitto suffices
- you need non-MQTT messaging protocols beyond ZeroMQ/NNG/WebSocket support
- you want a managed cloud MQTT service rather than self-hosting

## Facets
- artifact type: service
- maturity: active
- function: message-queue, http-server, websocket, streaming, etl
- domain: iot, self-hosted, microservices
- platform: windows, cross-platform, self-hosted, embedded
- tags: mqtt-broker, mqtt5, edge-computing, pubsub, software-defined-vehicle, iiot, nng, actor-model, lightweight, message-persistence, messaging, linux, macos, docker

## Member repositories
- nanomq/nanomq (main) score 99

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:02.976892+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:22:17.593037+00:00, confidence not recorded.
  - readme: https://github.com/nanomq/nanomq (fetched 2026-08-28T04:07:02.976892+00:00, sha d769c88243b4)
  - homepage: https://nanomq.io (fetched 2026-08-29T10:04:33.591712+00:00, sha b4cc16759170)
  - site_page: https://nanomq.io/docs/en/latest (fetched 2026-08-29T10:04:33.594538+00:00, sha c70b94708d79)
  - site_page: https://nanomq.io/docs/latest/quick-start/quick-start.html (fetched 2026-08-29T10:04:33.596583+00:00, sha bd42e15c56aa)
- Data as of 2026-08-30T08:39:29.467469+00:00.
