An Open-Source, Distributed MQTT Broker for IoT.

Overview

GitHub issues Build Status 简体中文 | English

MMQ broker

MMQ broker 是一款完全开源,高度可伸缩,高可用的分布式 MQTT 消息服务器,适用于 IoT、M2M 和移动应用程序。

MMQ broker 完整支持MQTT V3.1 和 V3.1.1。

特征

  • 分布式MQTT服务

  • 万级连接数并发(3台 华为云1核2G 1M带宽)

  • MQTT V3.1 和 V3.1.1

  • 支持桥接(MYSQL、POSTGRESQL、SQLSERVER、KAFKA、TDENGINE、MQTT BROKER、Influxdb*)

  • 规则引擎 通过SQL进行规则转发

  • 管理API 对MMQ BROKER管理接口。

  • 认证鉴权 登录认证管理

  • 集群管理 在线配置和管理集群*

    *为正在开发中的功能

安装

MMQ broker 是跨平台的,支持 Linux、Unix、macOS 以及 Windows。这意味着 MMQ broker 可以部署在 x86_64 架构的服务器上。由于使用raft一致性算法,集群部署三个节点以上。

从 Github 上下载源码方式

git clone https://github.com/MrHKing/mmq.git
cd mmq
mvn -Prelease-mmq -Dmaven.test.skip=true clean install -U

直接安装

您可以从 最新稳定版本 下载 mmq-server-$version.zip 包。

unzip mmq-server-$version.zip 或者 tar -xvf mmq-server-$version.tar.gz
cd mmq/bin

Docker安装

docker run -d --name mmq -p 2883:2883 -p 1883:3883 -p 8888:8888  paperman/mmq:v1.0.8

Kubernetes安装

快速入门

单机版启动

cd mmq\bin
#windows start
startup.cmd -m standalone
cd mmq/bin
#linux start
sh startup.sh -m standalone
#linux shutdown
sh shutdown.sh

集群版启动

cd mmq/config
#配置集群文件
cp cluster.conf.example cluster.conf
#每个节点都需要配置其他节点的地址,如下:
#example
192.168.31.9:7777
192.168.31.9:8848
192.168.31.9:8888
cd mmq\bin
#windows start
startup.cmd
cd mmq/bin
#linux start
sh startup.sh
#linux shutdown
sh shutdown.sh

配置文件

mqtt tcp端口默认:3883

mqtt websocket端口:2883

#*************** Spring Boot Related Configurations ***************#
### Default web context path:
server.servlet.contextPath=/
### Default web server port:
server.port=8888

#*************** mqtt broker Configurations ***************#
mmq.broker.websocketPort=2883
mmq.broker.port=3883
mmq.broker.ssl.password=mmq
mmq.broker.ssl.certPath=cert/mmq.pfx
mmq.broker.ssl.port=17733
mmq.broker.ssl.websocketPort=36633
mmq.broker.default.user=admin
mmq.broker.default.password=admin@mmq
mmq.broker.default.anonymous=true

Dashboard --单机演示

启动后访问 http://101.43.4.211:8888/

默认账户:mmq

默认密码:aaaaaa

mqtt tcp端口默认:1883

mqtt websocket端口:2883

文档

详细参见 wiki

MQTT 规范

你可以通过以下链接了解与查阅 MQTT 协议:

MQTT Version 3.1.1

开源许可

Apache License 2.0, 详见 LICENSE

群号

QQ群: 1016132679

You might also like...

Rivr is a lightweight open-source dialogue engine enabling Java developers to easily create enterprise-grade VoiceXML applications.

Overview Rivr is a lightweight open-source dialogue engine enabling Java developers to easily create enterprise-grade VoiceXML applications. Read our

Jun 27, 2022

Free and 100% open source Progressive Java Runtime for modern Java™ deployments supported by a leading OpenJDK contributor

BellSoft Liberica JDK is a build of OpenJDK that is tested and verified to be compliant with the Java SE specification using OpenJDK Technology Compat

Dec 22, 2022

GreenMail is an open source, intuitive and easy-to-use test suite of email servers for testing purposes.

GreenMail GreenMail is an open source, intuitive and easy-to-use test suite of email servers for testing purposes. Supports SMTP, POP3, IMAP with SSL

Dec 28, 2022

Ethylene is a open-source, lightweight, general-purpose compatibility layer standing between the developer and the chaotic world of configuration file formats.

Ethylene Ethylene is a open-source, lightweight, general-purpose compatibility layer standing between the developer and the chaotic world of configura

Aug 9, 2022

An open source civilization like game made in LibGDX

An open source civilization like game made in LibGDX

OpenCiv A turn based strategy game built on LibGDX, with a rouge-like tile set. About OpenCiv is a love letter to turn based strategy games inspired b

Dec 26, 2022

Java based open source static site/blog generator for developers & designers.

JBake JBake is a Java based open source static site/blog generator for developers. Documentation Full documentation is available on jbake.org. Contrib

Dec 30, 2022

FreeLogJ - Start a conversation in your company about paying open source maintainers

Start a conversation in your company about paying open source maintainers! In the meantime enjoy this super-simple logging framework^W class.

Jan 24, 2022

An open-source, free, scanner for exotic armour in Hypixel Skyblock

TheExoticsMod An open-source, free, scanner for exotic armour in Hypixel Skyblock! Searches friendslists, the auction house, and inventories to find e

Dec 26, 2022

Onepop is an utlity client previously paid, but now public and open source

Onepop is an utlity client previously paid, but now public and open source

onepop Onepop is an utlity client previously paid, but now public and open source, the client license is the GNU General Public License v3.0. The clie

Dec 30, 2022
Comments
  • 同学,您这个项目引入了64个开源组件,存在21个漏洞,辛苦升级一下

    同学,您这个项目引入了64个开源组件,存在21个漏洞,辛苦升级一下

    检测到 MrHKing/mmqtt 一共引入了64个开源组件,存在21个漏洞

    漏洞标题:Vmware VMware Spring Security 权限许可和访问控制问题漏洞
    缺陷组件:org.springframework.security:[email protected]
    漏洞编号:CVE-2021-22112
    漏洞描述:Vmware VMware Spring Security是美国威睿(Vmware)公司的一套为基于Spring的应用程序提供说明性安全保护的安全框架。
    VMware Spring Security 中存在权限许可和访问控制问题漏洞。该漏洞源于攻击者可以通过Spring Security的多个SecurityContext更改绕过限制,以提升其权限。以下产品及版本受到影响:Spring Security 5.4.0 至 5.4.3 版本, Spring Security 5.3.0.RELEASE 至 5.3.7.RELEASE 版本, Spring Security 5.2.0.RELEASE 至 5.2.8.RELEASE 版本。
    影响范围:(∞, 5.2.9.RELEASE)
    最小修复版本:5.2.9.RELEASE
    缺陷组件引入路径:org.monkey.mmq:[email protected]>org.springframework.boot:[email protected]>org.springframework.security:[email protected]>org.springframework.security:[email protected]
    

    另外还有21个漏洞,详细报告:https://mofeisec.com/jr?p=i7f469

    opened by ghost 1
Releases(v1.1.4)
Owner
Solley
IoT DevOps
Solley
Hi, Spring fans! In this installment we look Spring Integration's support for MQTT and the HiveMQ broker

Spring Integration MQTT & HiveMQ Hi, Spring fans! In this installment we look Spring Integration's support for MQTT and the HiveMQ broker. I'm joined

Spring Tips 5 Nov 21, 2022
Zeus IOT 是全球首家基于 Zabbix 的开源物联网分布式采集平台,具备 百万+ IOT设备的数据采集、分析、存储能力。

Zeus IOT 宙斯物联网分布式采集平台 快速安装 Zeus-IOT 支持 Centos 7、Ubuntu 20.04、Debain 10 、Kylin、UOS 等基于x86_64平台的 Linux 操作系统。 Centos7、RedHat 7 curl -L https://github.com

ZMOPS 636 Dec 30, 2022
Rqueue aka Redis Queue [Task Queue, Message Broker] for Spring framework

Rqueue: Redis Queue, Task Queue, Scheduled Queue for Spring and Spring Boot Rqueue is an asynchronous task executor(worker) built for spring and sprin

Sonu Kumar 221 Jan 5, 2023
Spring-Boot-Plus is a easy-to-use, high-speed, high-efficient,feature-rich, open source spring boot scaffolding

Everyone can develop projects independently, quickly and efficiently! What is spring-boot-plus? A easy-to-use, high-speed, high-efficient, feature-ric

geekidea 2.3k Dec 31, 2022
Hcode Online Judge(HOJ):An open source online judge system base on SpringBoot, Springcloud Alibaba and Vue.js !

Hcode Online Judge(HOJ) 前言 基于前后端分离,分布式架构的在线测评平台(hoj),前端使用vue,后端主要使用springboot,redis,mysql,nacos等技术。 在线Demo:https://hdoi.cn 在线文档:https://www.hcode.top/

Himit_ZH 179 Dec 31, 2022
An open source Minecraft plugin that allows operators to control who has access to the nether.

Nether Access Controller Description Nether Access Controller is a Minecraft plugin that allows operators to control access to the nether. It is essen

Daniel Stephenson 2 Feb 12, 2022
log4j-scanner is a project derived from other members of the open-source community by CISA's Rapid Action Force team to help organizations identify potentially vulnerable web services affected by the log4j vulnerabilities.

Log4j Scanner This repository provides a scanning solution for the log4j Remote Code Execution vulnerabilities (CVE-2021-44228 & CVE-2021-45046). The

Cybersecurity and Infrastructure Security Agency 1.3k Dec 22, 2022
Apache Maven artifacts for bootstrapping new open-source projects

OSS Quickstart Apache Maven archetypes for bootstrapping new open-source projects. Think Maven Quickstart Archetype and friends, but more modern, comp

ModiTect 49 Dec 31, 2022
🕊️ The world's most advanced open source instant messaging engine for 100K~10M concurrent users https://turms-im.github.io/docs

简体中文 What is Turms Turms is the most advanced open-source instant messaging engine for 100K~10M concurrent users in the world. Please refer to Turms D

null 1.2k Dec 27, 2022
open-source electronics platform

Arduino is an open-source physical computing platform based on a simple I/O board and a development environment that implements the Processing/Wiring

Arduino 13.3k Jan 4, 2023