使用 Rhiot 在几秒钟内构建物联网 AMQP 后端

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

  • 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...点击查看项目介绍 ;
  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;

截止目前, 星球 内专栏累计输出 63w+ 字,讲解图 2808+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2200+ 小伙伴加入学习 ,欢迎点击围观

AMQP 作为物联网网关和数据中心之间通信的首选协议而被广泛采用。如果您想快速创建可以立即为您的网关和设备准备就绪的 AMQP 后端服务, Rhiot 项目 Rhiot AMQP 快速入门 对您来说将非常有趣。

AMQP cloudlet quickstart 可以用作 fat-jar AMQP 微服务(又名 cloudlets )的基础。如果您想创建一个能够公开 AMQP 端点并处理基于 AMQP 的通信的简单后端应用程序,AMQT cloudlet quickstart 是开始您的开发工作的最佳方式。

创建并运行 AMQP cloudlet 项目

为了创建 AMQP cloudlet 项目,执行以下命令:


 git clone git@github.com:rhiot/quickstarts.git
cp -r quickstarts/cloudlets/amqp amqp
cd amqp
mvn install

要启动 AMQP cloudlet,请执行以下命令:


 git clone git@github.com:rhiot/quickstarts.git
cp -r quickstarts/cloudlets/amqp amqp
cd amqp
mvn install

这就是将 AMQP 消息代理公开给外部设备和网关所需的全部内容。

您还可以将其作为 Docker 映像构建和运行(我们喜欢 Docker 并强烈推荐这种方法):


 git clone git@github.com:rhiot/quickstarts.git
cp -r quickstarts/cloudlets/amqp amqp
cd amqp
mvn install

AMQP 经纪人

默认情况下,AMQP cloudlet quickstart 在 5672 端口上启动嵌入式 ActiveMQ AMQP 代理。如果您想将 cloudlet 应用程序连接到外部 ActiveMQ 代理(而不是启动嵌入式代理),请使用 BROKER_URL 环境变量或系统属性运行 cloudlet,例如:


 git clone git@github.com:rhiot/quickstarts.git
cp -r quickstarts/cloudlets/amqp amqp
cd amqp
mvn install

...或者...


 git clone git@github.com:rhiot/quickstarts.git
cp -r quickstarts/cloudlets/amqp amqp
cd amqp
mvn install

示例聊天应用程序

AMQP cloudlet quickstart 实际上是一个简单的聊天应用程序。客户端可以通过订阅代理并将消息发送到聊天 AMQP 队列来将消息发送到 chat 频道。


 git clone git@github.com:rhiot/quickstarts.git
cp -r quickstarts/cloudlets/amqp amqp
cd amqp
mvn install

客户端可以通过监听 chat-updates AMQP 主题来订阅聊天更新——每当新消息被发送到聊天频道时,注册到 chat-updates 客户端将收到更新的聊天历史记录。


 git clone git@github.com:rhiot/quickstarts.git
cp -r quickstarts/cloudlets/amqp amqp
cd amqp
mvn install

快速入门还公开了简单的 REST API,可用于使用 HTTP GET 请求读取聊天记录:


 git clone git@github.com:rhiot/quickstarts.git
cp -r quickstarts/cloudlets/amqp amqp
cd amqp
mvn install

架构概述

当使用嵌入式 ActiveMQ 代理启动 AMQP cloudlet 时,示例的架构如下:


当您连接到外部 ActiveMQ 代理(使用 BROKER_URL 选项)时,示例的体系结构变得更像下图:

快速入门代码

您可能想知道需要多少代码才能利用所提供的 AMQP 功能。以下是我们的快速入门用于处理 AMQP 连接的所有代码:


 git clone git@github.com:rhiot/quickstarts.git
cp -r quickstarts/cloudlets/amqp amqp
cd amqp
mvn install

下面是用于启动前面提到的 REST API 的代码:


 git clone git@github.com:rhiot/quickstarts.git
cp -r quickstarts/cloudlets/amqp amqp
cd amqp
mvn install

如您所见, Apache Camel 是 Rhiot 世界中的一等公民。为了使 Camel 连接更容易,Rhiot 带有静态 DSL 方法,如 EmbeddedActiveMqBrokerBootInitializer.amqpJmsBridge ,可用于轻松创建与快速入门使用的代理关联的 Camel 端点。

相关文章