{"id":20454457,"url":"https://github.com/quickmsg/nodemq","last_synced_at":"2025-04-13T03:35:16.572Z","repository":{"id":225934080,"uuid":"760352332","full_name":"quickmsg/nodemq","owner":"quickmsg","description":"An MQTT proxy server that can run on the cloud and edge","archived":false,"fork":false,"pushed_at":"2024-04-25T16:28:35.000Z","size":207,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-26T20:51:17.178Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/quickmsg.png","metadata":{"files":{"readme":"README-CN.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-02-20T09:03:33.000Z","updated_at":"2025-01-02T02:16:02.000Z","dependencies_parsed_at":"2024-04-25T17:50:23.064Z","dependency_job_id":null,"html_url":"https://github.com/quickmsg/nodemq","commit_stats":null,"previous_names":["quickmsg/nodemq"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quickmsg%2Fnodemq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quickmsg%2Fnodemq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quickmsg%2Fnodemq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quickmsg%2Fnodemq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/quickmsg","download_url":"https://codeload.github.com/quickmsg/nodemq/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248659982,"owners_count":21141219,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-15T11:15:59.524Z","updated_at":"2025-04-13T03:35:16.549Z","avatar_url":"https://github.com/quickmsg.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NodeMQ 一款超轻量级、高性能边缘MQTT消息代理服务器 \n[简体中文](README-CN.md)  . [English](README.md)\n\n\u003e 本项目是一个大胆的试验性项目，基于GraalVM 构建可直接行的的二进制文件（无需安装JDK）。项目启动内存仅需20MB,毫米级的启动速度,让你的服务器空闲起来吧！\n\n##  功能\n- [标准MQTT协议](#国际化)\n    - [MQTT 3](#官方网站)\n    - [MQTT 3.1.1](#官方网站)\n    - [MQTT 5](#官方网站)\n- [Websocket协议](#内容目录)\n- [TLS/SSL加密](#内容目录)\n- [Proxy代理协议](#内容目录)\n- [服务等级](#项目介绍)\n    - [qos0 至多一次](#官方网站)\n    - [qos1 至少一次](#官方网站)\n    - [qos2 仅仅一次](#官方网站)\n- [Topic过滤](#图形演示)\n    - [# 多级匹配](#官方网站)\n    - [+ 一级匹配](#官方网站)\n- [发布订阅](#图形演示) \n- [共享订阅](#功能)\n- [保留消息](#功能)\n- [遗嘱消息](#功能)\n- [HTTP协议](#架构)\n- [多实例](#架构)\n- [Apacche 2.0](LICENSE)\n\n## 快速开始\n\n\u003e 默认提供了Windows跟Linux-x64的可运行二进制文件，其他平台需要自行源码打包编译，打包完成后可以联系我们，提供可运行二进制给我们哦！\n\n### 二进制下载\n\n| 系统          | 下载                                                      |\n|-------------|---------------------------------------------------------|\n| Windows     | [二进制文件](https://nodemq1.obs.cn-east-3.myhuaweicloud.com/NodeMQ.exe)  |\n| Linux-amd64 | [二进制文件](https://nodemq1.obs.cn-east-3.myhuaweicloud.com/NodeMQ)  |\n\n目前我们提供了Windows平台以及Linux-X86的可运行的二进制文件\n\n### Linux源码编译\n\n#### 安装GraalVM-CE\n[下载链接](#https://github.com/graalvm/graalvm-ce-builds/releases/)\n\n#### 安装zlib-devel\n\nDebian:\n\n```\nsudo apt-get update\n\nsudo apt-get install zlib1g-dev\n\n```\n\nRedhat:\n```\nsudo yum update -y\n\nsudo yum install zlib-devel\n\n```\n\n\n#### 打包编译(linux)\n\n下载源代码,进入NodeMQ项目目录\n\n```shell\n./mvnw package -P native\n```\n\n编译完成后会出现如下日志:\n\n```shell\n------------------------------------------------------------------------------------------------------------------------\nRecommendations:\n INIT: Adopt '--strict-image-heap' to prepare for the next GraalVM release.\n HEAP: Set max heap for improved and more predictable memory usage.\n CPU:  Enable more CPU features with '-march=native' for improved performance.\nPrint of Dashboard dump output ended.\n------------------------------------------------------------------------------------------------------------------------\n                       26.6s (14.1% of total time) in 243 GCs | Peak RSS: 2.78GB | CPU load: 3.58\n------------------------------------------------------------------------------------------------------------------------\nProduced artifacts:\n /root/nodemq/NodeMQ-master/target/NodeMQ (executable)\n========================================================================================================================\nFinished generating 'NodeMQ' in 3m 7s.\n[INFO] ------------------------------------------------------------------------\n[INFO] BUILD SUCCESS\n[INFO] ------------------------------------------------------------------------\n[INFO] Total time:  03:13 min\n[INFO] Finished at: 2024-04-19T15:06:06+08:00\n[INFO] ------------------------------------------------------------------------\n```\n\n打包完成后，会在target目录下生成可执行文件NodeMQ,运行`./NodeMQ`运行服务\n\n## 配置详解\n\n运行项目后，会在运行目录生成一个`mqtt.json`文件(如果存在可读取mqtt.json文件)，详情如下:\n\n```json\n\n{\n  \"mqtt\" : [ {\n    \"host\" : \"0.0.0.0\",\n    \"port\" : 1883,\n    \"maxMessageSize\" : 65535,\n    \"connectTimeout\" : 3,\n    \"wiretap\" : false,\n    \"ssl\" : null,\n    \"useWebsocket\" : false,\n    \"websocketPath\" : \"/mqtt\",\n    \"proxy\" : false,\n    \"maxQosLevel\" : 2,\n    \"supportWildcardSubscribe\" : true,\n    \"supportShareSubscribe\" : true,\n    \"retrySize\" : 10,\n    \"retryInterval\" : 2000\n  }, {\n    \"host\" : \"0.0.0.0\",\n    \"port\" : 8083,\n    \"maxMessageSize\" : 65535,\n    \"connectTimeout\" : 3,\n    \"wiretap\" : false,\n    \"ssl\" : null,\n    \"useWebsocket\" : true,\n    \"websocketPath\" : \"/mqtt\",\n    \"proxy\" : false,\n    \"maxQosLevel\" : 2,\n    \"supportWildcardSubscribe\" : true,\n    \"supportShareSubscribe\" : true,\n    \"retrySize\" : 10,\n    \"retryInterval\" : 2000\n  } ],\n  \"http\" : {\n    \"port\" : 8080,\n    \"accessLog\" : false,\n    \"ssl\" : null\n  },\n  \"system\" : {\n    \"shareStrategy\" : \"RANDOM\",\n    \"maxSessionMessageSize\" : 1000,\n    \"maxRetainMessageSize\" : 1000,\n    \"maxRetainExpiryInterval\" : 604800,\n    \"unConfirmFlightWindowSize\" : 100\n  },\n  \"log\" : {\n    \"level\" : \"INFO\",\n    \"persisted\" : false\n  }\n}\n```\n\n## 技术交流\n微信技术交流请加 '18510240791' 请备注 'nodemq交流群'\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquickmsg%2Fnodemq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquickmsg%2Fnodemq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquickmsg%2Fnodemq/lists"}