node.js - RabbitMQ 消息应该直接从前端应用程序排队,还是先通过后端端点?
问题描述
最好从前端 React Native 应用程序直接对 RabbitMQ 进行 API 调用,还是最好对后端服务器端点进行 API 调用,并在那里绑定/排队消息,以便向前端返回 JSON 响应一旦消息被消费?
我的计划是制作一个 React Native 应用程序,将大文件上传到 Digital Ocean Spaces,然后将其他数据存储在 Firebase 集合中。我有一个在后端运行的 Node.JS Express 服务器,我想知道是否最好先通过 Express 服务器对 RabbitMQ 消息进行排队,或者我是否应该直接从前端 React Native 应用程序将消息排队到 RabbitMQ ?
这是直接从前端 React Native 应用程序对 RabbitMQ的示例API 调用的 SO 帖子fetch()
,但我想知道这有多安全(因为您需要在 JSON 对象中传递用户和密码凭据),以及是否最好只首先将所有消息发送到后端 Express 服务器。我想这其中很多可能取决于应用程序架构,但我的想法是,最好先通过后端的第 3 方客户端库(例如使用amqplib )来排队、生成和使用消息,尤其是因为大多数 RabbitMQ网上找到的例子就是这样做的。
解决方案
推荐阅读
- angular - Angular:防止 api 错误不显示 HTML 模板
- javascript - 阻止表单提交
- android - 限制android进程的日志级别
- java - 在 Java Spring boot 中有没有一种方法可以将单个 kafka 队列用于不同的 Java 对象?
- python - 如何抓取受密码保护的网站
- java - 将没有 web 项目的 springboot 打包到一个可运行的 Jar 并由 java -jar 运行,但 @Scheduled 方法不起作用
- amazon-web-services - 如何将 aws sumerian acene 与 aws iot 核心连接起来?
- azure - 通过 Powershell 脚本将 swagger 导入 APImanagement 在 Azure devops 管道中不起作用
- laravel - 使用部署程序的 Laravel 部署无法更新 shared/.env 文件
- javascript - 使用 javascript chrome 扩展从 chrome 自动填充中读取值