TBMQ集群部署完全指南:从Docker Compose到K8s云原生方案
TBMQ集群部署完全指南从Docker Compose到K8s云原生方案【免费下载链接】tbmqThe ultimate distributed MQTT broker. Handles 100M connections and 10M msg/sec with ease. Built on Kafka to provide industrial-grade persistence and eliminate data loss.项目地址: https://gitcode.com/gh_mirrors/tb/tbmqTBMQ作为终极分布式MQTT broker能够轻松处理1亿连接和1000万条/秒消息基于Kafka构建的工业级持久化能力确保数据零丢失。本文将带您从Docker Compose快速部署到K8s云原生方案掌握TBMQ集群的完整部署流程。 准备工作环境与资源需求在开始部署前请确保您的环境满足以下要求Docker Engine 20.10 或 Kubernetes 1.24 集群每节点至少4核CPU、8GB内存持久化存储支持Docker使用卷挂载K8s使用PVC网络支持TCP 1883(MQTT)、8883(MQTTs)、8080(HTTP)端口项目提供的部署资源文件位于Docker部署docker/K8s部署k8s/ 核心配置文件位置Docker环境变量docker/tbmq.envK8s配置模板k8s/minikube/tbmq.yml系统配置文件application/src/main/conf/thingsboard-mqtt-broker.conf 方案一Docker Compose快速部署1️⃣ 一键安装脚本项目提供了简化部署的Shell脚本执行以下命令即可启动基础集群git clone https://gitcode.com/gh_mirrors/tb/tbmq cd tbmq/docker/scripts chmod x docker-install-tbmq.sh ./docker-install-tbmq.sh2️⃣ 手动配置与启动如果需要自定义配置可修改以下文件后手动启动配置环境变量关键设置示例# [docker/tbmq.env](https://link.gitcode.com/i/e8eb5efa287606ef7e7603a0c8060f0a) TBMQ_BROKER_CLUSTER_ENABLEDtrue TBMQ_KAFKA_SERVERSkafka:9092 TBMQ_CACHE_TYPEredis启动Docker Compose集群cd tbmq/docker docker-compose up -d验证集群状态docker-compose ps # 查看日志确认启动成功 docker-compose logs -f tbmqTBMQ管理控制台首页展示集群状态、消息流量和Kafka主题信息☸️ 方案二Kubernetes云原生部署1️⃣ 基础集群部署Minikube示例适用于开发测试环境的快速部署cd tbmq/k8s/minikube chmod x k8s-install-tbmq.sh ./k8s-install-tbmq.sh2️⃣ 生产级部署多环境支持项目提供AWS、Azure、GCP三大云平台的部署方案AWS部署k8s/aws/k8s-deploy-tbmq.shAzure部署k8s/azure/k8s-deploy-tbmq.shGCP部署k8s/gcp/k8s-deploy-tbmq.sh3️⃣ 核心部署清单说明K8s部署的核心资源定义文件命名空间与配置# [k8s/minikube/tbmq-namespace.yml](https://link.gitcode.com/i/5ac5a8668384b3baea25e4aeb4f7f283) apiVersion: v1 kind: Namespace metadata: name: tbmqStatefulSet部署# [k8s/minikube/tbmq.yml](https://link.gitcode.com/i/c585276022efb1fd074185154a1cc388) apiVersion: apps/v1 kind: StatefulSet metadata: name: tbmq namespace: tbmq spec: serviceName: tbmq replicas: 3 # 建议生产环境至少3节点负载均衡配置MQTT负载均衡k8s/aws/receipts/mqtt-load-balancer.ymlHTTPS负载均衡k8s/azure/receipts/https-load-balancer.ymlTBMQ会话管理界面展示多节点连接状态与客户端分布 集群配置最佳实践1️⃣ 性能优化参数在application/src/main/conf/thingsboard-mqtt-broker.conf中调整# 网络优化 netty.maxThreads32 netty.soBacklog1024 # Kafka持久化配置 queue.kafka.partitions12 queue.kafka.replicationFactor32️⃣ 高可用设置Kafka集群建议至少3节点配置在k8s/minikube/kafka.yml缓存集群使用Valkey集群docker/cache-valkey-cluster.env健康检查配置存活探针和就绪探针确保自动恢复3️⃣ 监控与维护集成Prometheus监控integration/executor/src/main/conf/tbmq-integration-executor.conf日志配置docker/tbmq/conf/logback.xml备份脚本docker/backup-restore/ 集群升级与扩展1️⃣ 平滑升级流程Docker环境cd tbmq/docker/scripts ./docker-upgrade-tbmq.shK8s环境cd tbmq/k8s/aws ./k8s-upgrade-tbmq.sh2️⃣ 横向扩展方法Docker Compose修改docker-compose.yml的replicas数量K8s执行kubectl scale statefulset tbmq -n tbmq --replicas5❓ 常见问题排查Kafka连接失败检查docker/kafka.env中的KAFKA_ADVERTISED_LISTENERS配置节点同步问题查看日志确认TBMQ_BROKER_CLUSTER_NODES配置正确性能瓶颈通过管理界面监控Outgoing messages和 Sessions指标调整资源 相关资源配置文件模板msa/tbmq/configs/集成示例ui-ngx/src/assets/getting-started/测试脚本application/src/test/通过本文指南您已掌握TBMQ从Docker Compose到K8s的完整部署流程。无论是快速启动测试环境还是构建生产级高可用集群TBMQ的弹性架构都能满足您的需求。根据实际业务规模调整节点数量和资源配置即可轻松应对百万级设备连接与消息处理挑战。【免费下载链接】tbmqThe ultimate distributed MQTT broker. Handles 100M connections and 10M msg/sec with ease. Built on Kafka to provide industrial-grade persistence and eliminate data loss.项目地址: https://gitcode.com/gh_mirrors/tb/tbmq创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻