java教程潘浩答案_README_CN.md

[English](README.md) | **中文**

## Jmqtt

**注意**:`master` 分支在开发时可能不稳定,导致打包的文件不能运行甚至不能打包,请使用 [releases](https://github.com/Cicizz/jmqtt/releases) 版本

![Jmqtt logo](jmqtt.png)

## 功能特性

* 基于Java及Netty开发,插件化模式,高性能,高扩展性

* 支持mqtt协议qos0,qos1,qos2消息质量服务

* 支持mqtt协议cleansession,retain,will等消息服务

* 完整支持mqtt Topic匹配过滤

* 支持websocket协议

* 支持RocksDB进行数据本地存储,数据高可靠

## 快速开始

在线测试环境:`120.24.69.113`,TCP端口:`1883`;Websocket端口:`1884`,欢迎使用!

1. 下载 [release](https://github.com/Cicizz/jmqtt/releases) 或`clone`本项目

2. 在根目录执行:`mvn -Ppackage-all -DskipTests clean install -U`

3. 在 `jmqtt-distrubution/target/jmqtt/bin` 目录下直接运行 `jmqttstart`脚本即可

4. 本地启动:找到BrokerStartup类,配置启动环境变量:key是`JMQTT_HOME`,value是`jmqtt-distribution`所在的绝对地址,配置的目的是指定jmqtt配置文件和日志配置文件所在的地址。

## 架构设计图

![架构图](jmqtt%20design.jpg)

## 模块简介及本地环境

* **broker**:mqtt协议层,逻辑处理,BrokerStartup为启动类,BrokerController为初始化类,初始化所有的必备环境,其中acl,store的插件配置也必须在这里初始化

* **common**:公共层,存放工具类,bean类等

* **remoting**:通信层,连接管理,协议解析,心跳等

* **distribution**:配置模块,主要是配置文件,启停命令等存放

* **example**:客户端示例,目前只有java以及websocket

* **group**:集群管理模块:消息传输,集群管理,以及相关运维功能实现

* **store**:存储模块,提供了mqtt协议数据的几个接口,支持基于内存的和Rocksdb的本地存储

## RoadMap

### Version 3.x

1. 支持简单运维功能

2. 支持RocketMQ Bridge

3. 支持Kafka Bridge

4. 支持$SYS Topic监控

### Version 2.x

1. 支持集群化,多主机横向扩展,实现高可用

2. 支持SSL/TLS

3. 支持安全认证

### Version 1.1.0

1. 添加connect,publish,subsribe权限认证接口,可插件化

2. 移除Redis存储

3. 优化Rocksdb本地存储,现在性能提高了很多,并且容易管理

4. 修复订阅的bug

5. 修复离线消息不能接收的bug

6. 修复retain消息偶尔接收不到的bug

7. 添加storeLog,remotingLog,messageTraceLog,clientTraceLog记录日志

### Version 1.0.0

1. 完整支持mqtt协议

2. 支持Websocket协议

3. 支持数据本地持久化

## 技术交流群

![jmqtt技术交流群](jmqtt_qq.png)

一键复制

编辑

Web IDE

原始数据

按行查看

历史

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值