Spring boot 微服务应用程序之间的关联?

Spring boot 微服务应用程序之间的关联?,spring-boot,microservices,spring-cloud-gateway,Spring Boot,Microservices,Spring Cloud Gateway,我正在用spring boot和spring cloud编写一个微服务应用程序。我有五个模块,分别是 API网关(基于spring云网关spect) 发现服务器(基于spring云Netflix Eureka服务发现) Microservice-A(它是一款spring boot应用程序,包括我们的业务) Microservice-B(它是一款spring boot应用程序,包括我们的业务) Microservice-C(它是一款spring boot应用程序,包括我们的业务) 来自用户的所

我正在用spring boot和spring cloud编写一个微服务应用程序。我有五个模块,分别是

  • API网关(基于spring云网关spect)
  • 发现服务器(基于spring云Netflix Eureka服务发现)
  • Microservice-A(它是一款spring boot应用程序,包括我们的业务)
  • Microservice-B(它是一款spring boot应用程序,包括我们的业务)
  • Microservice-C(它是一款spring boot应用程序,包括我们的业务)

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

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

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


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

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