• 授权协议:Apache
  • 开发厂商:-
  • 软件语言:Java
  • 更新日期:2018-07-04
MqttWk

MqttWk基于 nutzboot + netty或t-io + redis + kafka 实现的MQTT服务broker. 本项目代码主要来源于 netty/t-io/iot-mqtt-server 等众多项目,开源免费,欢迎交流学习。├──mqtt-test-websocket--websocket通信测试示例功能说明参考MQTT3.1.1规范实现。mqtt-broker 下执行mvn clean package nutzboot:shade进行打包。自定义 - 连接认证默认只是简单使用对用户名进行R

MqttWk 基于 NutzBoot + t-io 的 MQTT Broker 项目简介

MqttWk基于 nutzboot + netty或t-io + redis + kafka 实现的MQTT服务broker本项目代码主要来源于 netty/t-io/iot-mqtt-server 等众多项目,开源免费,欢迎交流学习参考项目https://github.com/netty/nettyhttps://gitee.com/tywo45/tio-showcase/https://gitee.com/recallcode/iot-mqtt-server使用说明软件架构说明使用netty或t-io实现通信及协议解析使用nutzboot提供依赖注入及属性配置使用redis实现消息缓存,集群使用kafka实现消息代理项目结构MqttWk
  ├── mqtt-codec -- MQTT协议解析的t-io实现
  ├── mqtt-auth -- MQTT服务连接时用户名和密码认证
  ├── mqtt-broker -- MQTT服务器功能的核心实现
  ├── mqtt-common -- 公共类及其他模块使用的服务接口及对象
  ├── mqtt-store -- MQTT服务器会话信息(redis缓存及kafka加载)
  ├── mqtt-zoo -- 教程文档或文件
    ├── mqtt-test-kafka -- kafka消费者接收消息
    ├── mqtt-test-websocket -- websocket通信测试示例功能说明参考MQTT3.1.1规范实现完整的QoS服务质量等级实现遗嘱消息, 保留消息及消息分发重试心跳机制MQTT连接认证(可选择是否开启)SSL方式连接(可选择是否开启)主题过滤(支持单主题订阅如 /mqtt/test --不可以/结尾, 通配符订阅 /mqtt/# --以/#结尾)Websocket支持(可选择是否开启)集群功能(可选择是否开启)Kafka消息转发功能(可选择是否开启)快速开始项目根目录执行 mvn installmqtt-broker 下执行 mvn clean package nutzboot:shade 进行打包java -jar mqtt-broker-xxx.jar -Dnutz.profiles.active=prod [此时加载application-prod.properties配置文件]打开mqtt-spy客户端, 填写相应配置下载连接端口:8885, websocket 端口: 9995 websocket连接使用的用户名: demo连接使用的密码: 8F3B8DE2FDC8BD3D792BE77EAC412010971765E5BDD6C499ADCEE840CE441BDEF17E30684BD95CA708F55022222CC6161D0D23C2DFCB12F8AC998F59E7213393连接使用的证书在 mqtt-zoo\keystore\server.cer集群使用多机环境集群:mqttwk.broker.cluster-on=truemqttwk.broker.kafka.bootstrap.servers=192.168.1.101:9092,192.168.1.102:9093redis.mode=clusterredis.nodes=192.168.1.103:16379,192.168.1.104:26379单机环境集群:mqttwk.broker.cluster-on=truemqttwk.broker.kafka.bootstrap.servers=127.0.0.1:9092,127.0.0.1:9093redis.mode=normalredis.host=127.0.0.1自定义 - 连接认证默认只是简单使用对用户名进行RSA密钥对加密生成密码, 连接认证时对密码进行解密和相应用户名进行匹配认证使用中如果需要实现连接数据库或其他方式进行连接认证, 只需要重写mqtt-auth模块下的相应方法即可自定义 - 服务端证书服务端证书存储在mqtt-broker的resources/keystore/server.jks用户可以制作自己的证书, 但存储位置和文件名必须使用上述描述的位置及文件名生产环境部署多机环境集群负载均衡: 富人用 L4 Switch,穷人用 Linux HAProxy示例截图 

MqttWk 基于 NutzBoot + t-io 的 MQTT Broker 相关推荐

MqttWk 基于 NutzBoot + t-io 的 MQTT Broker 评论内容