0%

引言

随着物联网(IoT)设备的广泛部署,MQTT(Message Queuing Telemetry Transport)作为一种轻量级的消息协议,因其高效、低带宽占用和易于实现等优点,成为了IoT设备间通信的首选。在MQTT中,主题(Topic)是消息传递的关键概念之一,它定义了消息发布者与订阅者之间的通道。今天我们就来深入探讨一下MQTT中的主题以及如何利用通配符来优化消息过滤。

阅读全文 »

一、什么是webhook

  • Webhook是一种通过自定义HTTP回调来实现实时通知机制的方法。简单来说,它允许一个应用在特定事件发生时向另一个应用发送HTTP请求(通常是POST请求),从而实现不同系统之间的即时信息交流。这种方式使得开发者可以基于特定事件触发的响应进行编程,增强了应用间的交互性和自动化程度。
阅读全文 »

一、前言

  • 在物联网(IoT)应用中,设备之间的实时通信至关重要。而 MQTT(Message Queuing Telemetry Transport) 是一种轻量级、高效的发布/订阅协议,非常适合用于物联网场景中的消息传输。

  • 本文将带你一步步使用 Spring Boot + Paho-MQTT 实现一个简单的 MQTT 客户端,包括连接、订阅和发布消息的功能。

二、 技术栈🧰

  • Spring Boot 3.* 以上
  • Java 17+
  • Maven 构建工具
  • MQTT Broker(例如 EMQX、Mosquitto)
  • Paho-MQTT(Java 客户端库)
阅读全文 »

一、什么是EMQX

  • EMQX是一个开源的、高性能的MQTT消息服务器,支持多种MQTT协议版本和QoS等级,能够在分布式环境下扩展数百万连接。它采用了Erlang语言和OTP平台开发,这些技术以其可靠性、容错性和并发处理能力而著称,确保了系统的高可用性和稳定性。

  • EMQX提供了丰富的API接口和管理工具,方便用户进行开发和管理。它完全遵循Apache License 2.0开源协议,允许用户自由修改和分发源代码。由于其出色的性能和扩展性,EMQX被广泛应用于物联网(IoT)、智能家居、智慧城市等领域。

  • EMQX不仅支持MQTT协议,还支持其他物联网协议如CoAP、LwM2M等,并且可以与各种数据库和消息队列系统集成,比如通过插件实现数据持久化到关系型数据库或NoSQL数据库,或者桥接转发消息到Kafka、RabbitMQ等。

  • EMQX有多个版本,包括开源版EMQX Broker,企业版EMQX Enterprise以及针对超大型IoT网络和应用设计的EMQX Platform。每个版本在支持的连接数量、功能特性和商业服务方面有所不同,以满足不同规模和需求的用户。

  • Github地址: https://github.com/emqx/emqx

  • 官网: https://www.emqx.com/zh

阅读全文 »

全面解析MQTT协议:从基础概念到核心组件

一、MQTT是什么

  • 上篇其实已经介绍了MQTT,这里补充一下。
  • MQTT(Message Queuing Telemetry Transport)是一种专为低带宽、不可靠网络环境或设备资源受限情况下设计的轻量级消息传输协议。它非常适合用于机器对机器(M2M)通信和物联网(IoT)应用中,因为它能够高效地在远程传感器和控制设备之间传递信息。
  • MQTT基于发布/订阅模式工作,这使得它在构建灵活的消息传递系统时非常有用。通过这种模式,一个设备可以发布消息到特定的主题上,而其他设备则可以订阅这些主题以接收消息。这种方式允许消息生产者和消费者解耦,从而简化了应用程序的设计。

1、MQTT架构及角色

  • **发布者(Publisher)**:发送数据的实体,可以向任意主题(topic)发布消息。
  • **订阅者(Subscriber)**:接收数据的实体,它可以订阅一个或多个主题,并在相关主题上有新消息时收到通知。
  • **代理服务器(MQTT Broker)**:作为消息中转站,接收来自发布者的消息并将它们分发给相应的订阅者。
阅读全文 »

一、Kubernetes概述

  • Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。 Kubernetes 拥有一个庞大且快速增长的生态,其服务、支持和工具的使用范围相当广泛。
  • Kubernetes 这个名字源于希腊语,意为“舵手”或“飞行员”。K8s 这个缩写是因为 K 和 s 之间有 8 个字符的关系。 Google 在 2014 年开源了 Kubernetes 项目。 Kubernetes 建立在 Google 大规模运行生产工作负载十几年经验的基础上, 结合了社区中最优秀的想法和实践。
阅读全文 »

一、什么是Prometheus?

  • Prometheus 是一个开源的系统监控和警报工具,主要用于采集和存储时间序列数据,它主要服务于现代的云原生环境,支持各种基础设施和应用程序的监控。
  • 最初在 SoundCloud 构建。自 2012 年成立以来,许多 公司和组织都采用了 Prometheus,该项目有一个非常 活跃的开发人员和用户社区。它现在是一个独立的开源项目 并独立于任何公司进行维护。强调这一点,并澄清 该项目的治理架构,Prometheus 于 2016 年加入云原生计算基金会 作为继 Kubernetes 之后的第二个托管项目。
阅读全文 »