【发布时间】:2021-11-25 16:27:39
【问题描述】:
我正在设计的架构应该由以下组件组成:REST API(spring boot 或 quarkus)、消息代理(activemq 或 rabbitmq)和数据库(mongodb 或 postgresql)。此架构应处理以下提到的与审计相关的场景:
- 调用 REST API 来存储审计跟踪:在这种情况下,REST API 将接收到的消息传输到消息代理,作为 REST API 的一部分的消费者使用消息并将其存储到数据库中
- 调用 REST API 来检索审计跟踪:在这种情况下,REST API 进入数据库以提取所需数据
目前,如果我应该将消费者和 REST API 拆分为不同的组件,我有点困惑。实际上,如果我这样做,我会有哪些优点和缺点,如果我不这样做,我会有哪些优点和缺点。
对我而言,如果我将上面的组件拆分,可扩展性可能是其中一个优点,但很难生成其他东西。
请建议一些方向,以便更好地理解这一点
【问题讨论】:
-
为什么不直接使用经纪人? activemq.apache.org/rest
-
@codebrane 我不确定你的问题是否正确,你能解释一下只使用代理的目的吗?
-
不是REST服务向代理发送消息,而是让客户端直接发送到代理队列的REST端点
-
@codebrane 我明白了你的想法,谢谢你的建议,但是在消息代理之上拥有 spring boot rest 服务的想法是有可能在消息到达代理之前验证消息。另外,就我的问题而言,我想验证是否需要拆分 Spring Boot Rest 和 Consumer,实际上它与消息代理无关
标签: database spring-boot rest microservices messagebroker