在本教程(Spring Cloud Microservices)中,该存储库中的代码用于说明示例:
https://github.com/saturnism/spring-cloud-gcp-guestbook/tree/master/1-bootstrap
在仓库中,使用Spring Boot找到了两个Maven项目(guestbook-frontend和guestbook-service)。两者都作为服务运行。通过前端服务,可以将消息发布到后端服务。我的问题是,它在哪里进行配置,以便前端知道POST的去向?两者之间的联系在哪里?
为了详细解释这个问题,我将重点介绍微服务的核心模式。
上面提到的模式用于处理我们转向微服务时出现的问题。您的问题突出显示的问题之一是“我们永远无法确定哪台机器将运行我们的微服务”。解决此问题的一种幼稚方法是我们维护某种映射,其中包含机器及其服务的所有详细信息。为了在服务之间建立通信,我们可以使用该地图。但是这种方法是幼稚的,并且有其自身的问题。
因此,为了解决这个问题,我们将不得不使用路由模式。在路由模式中,有一个服务发现的概念。不同平台提供了多种服务发现方法。例如:Netflix提供了Eureka和Feign Client,后来在Spring Cloud中添加了该功能; HashiCorp提供了Consul服务发现功能; AWS ECS也具有其服务发现机制。
话虽如此,我可以得出结论,有多种方法可以从spring-boot的一个微服务中调用另一个服务。但是,由于您更加关注Spring Cloud,因此在Spring Cloud中,您将需要Eureka Server和Feign Client。将它们添加到项目中非常简单。
您可以按照本教程使用Eureka和Feign Client https://dzone.com/articles/microservices-communication-feign-as-rest-client
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句