使用 Rhiot 在几秒钟内构建物联网 AMQP 后端
💡一则或许对你有用的小广告
欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论
- 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于
Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...
,点击查看项目介绍 ;- 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;
截止目前, 星球 内专栏累计输出 82w+ 字,讲解图 3441+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2800+ 小伙伴加入学习 ,欢迎点击围观
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 端点。