项目基本信息
- 项目名称:ByteCub IoT platform
- 技术栈:Java 8, SpringBoot 2.3.6, ElasticSearch 7.6.2, Redis, MySQL 5.6/5.7
- 项目地址:https://gitee.com/byte-cub/bytecub
核心功能
- MQTT支持:支持SSL,集群化部署时暂不支持retain&will类型消息
- UDP支持:可自定义设备编码获取方法和权限校验
- 物模型:支持自定义物模型
- 数据协议:只需一行注解,即可实现自定义数据协议
- 集群化部署:支持集群化部署,通过nginx/LVS等进行负载均衡
- 开放平台:提供http接口,方便向业务系统提供支持能力
压测结果
使用阿里云2核4G,单机部署情况下支持每秒5K条消息上报,数据无积压,CPU负载最高40%。
外部依赖
- MySQL 5.6/5.7
- ElasticSearch 7.6.2
- Redis 4.0+
安装与启动
Docker部署
docker compose脚本位于 .docker\dev-env\docker-compose.yml,通过 cd 命令进入该目录后,执行:
docker-compose up -d
数据库初始化
docs/db 目录下,执行sql文件,初始帐号密码admin/123456。docs/current 目录为迭代期间的数据库变动。
启动方式
- idea启动:启动bytecub-application module下的ByteCubApplication主类即可
- jar包启动:执行 mvn install,运行:
nohup java -jar /home/apps/server/bytecub/bytecub-application-1.0-SNAPSHOT.jar --spring.profiles.active=prod >/dev/null 2>log &