当前位置: 首页 > 知识库问答 >
问题:

微服务应用之间的回旋?

奚才良
2023-03-14

我正在写一个微服务的应用程序,由Spring Boot和Spring云。我有五个模块

  • API网关(基于Spring云网关spect)
  • Discovery-Server(基于Spring云NetflixEureka服务发现)
  • Microservice-A(它是一个包含我们业务的Spring引导应用程序)
  • Microservice-B(它是一个包含我们业务的Spring引导应用程序)
  • Microservice-C(它是一个包含我们业务的Spring引导应用程序)

所有来自用户的请求都将路由到API网关,并通过API网关发送到应用程序A或B或C(这些不会公开)。现在我有一个问题,基于一个业务角色,应用程序A需要调用应用程序B的一个Restendpoint。哪种方法是最好的?我直接从应用程序A调用应用程序Bendpoint还是通过API网关调用?

共有2个答案

姬庆
2023-03-14

如果我是你,我会使用消息代理进行微服务通信。让api网关用于外部客户端。我认为我们过度使用了http协议。对于微服务架构,我们应该尝试以不同的方式思考。

闻人凯泽
2023-03-14

API网关应作为入口层,它只接受来自应用程序外部(客户端/外部集成)的流量。这里有更多细节。

微服务之间的任何内部通信都应该是点对点的交互,可以通过多种方式完成。这个答案更详细地描述了这一点。

因此,API网关不应该关注微服务的编排

 类似资料:
  • 我有两个微服务,例如A和B。微服务B有剩余的enpoint,必须只能从微服务A访问。如何限制微服务之间的访问?如果可能的话,最佳做法是什么? 我正在使用Spring Cloud Security(oAuth2, jwt)。

  • 当前体系结构: 问题: 我们在前端和后端层之间有一个两步流程。 null 微服务2(MS2)需要验证I1的完整性,因为它来自前端。如何避免对MS1进行新的查询?最好的办法是什么? 我试图优化的流删除了步骤1.3和2.3 流程1: null 流程2: 2.1用户X已在本地/会话存储中存储了数据(MS2_Data) 2.2用户X在MS1上保留数据(MS2_Data+MS1_Data) 2.3 MS1使

  • 此外,在微服务之间具有HTTP依赖关系,例如当使用HTTP请求链创建长请求/响应周期时,如图4-15的第一部分所示,不仅使微服务不自治,而且一旦链中的一个服务表现不佳,它们的性能就会受到影响。 来源:https://docs.microsoft.com/en-us/dotnet/standard/microservices-architecture/architect-microservice-c

  • 为了这个问题,我正在做一个项目,其中有两个微服务: null 根据我所读到的,为了进行这种更改,我们需要做以下几点: 从->切换 更改配置以启用分布式命令 使用SpringCloud或JCloud连接微服务 将AxonFramework添加到遗留InvoiceService项目并处理接收到的saga事件。 这是我们遇到麻烦的第四点:发票服务是由一个不愿意进行更改的单独团队维护的。 在这种情况下,使

  • 我正在构建一个基于Spring云的微服务ML管道。我有一个数据摄取服务,它(当前)从SQL接收数据,这些数据需要被预测服务使用。 普遍的共识是写入应该使用kafka/Rabbitmq使用基于异步消息的通信。 我不确定的是如何编排这些服务? 我是否应该使用API网关来调用启动管道的摄取?

  • 我将非常感谢任何答复以及文章,在您的意见可能有助于这里。提前谢谢你。