在本教程(春云微服务)中,将使用这个存储库中的代码来演示这个示例:
https://github.com/saturnism/spring-cloud-gcp-guestbook/tree/master/1-bootstrap
在repo中,使用Spring找到两个Maven项目(客服簿-前端和客服)。两者都是作为服务运行的。通过前端服务,消息可以发布到后端服务。我的问题是,它是在哪里配置的,这样前端就知道帖子到哪里去了?两者之间的联系在哪里?
发布于 2020-09-10 11:36:31
为了详细解释这个问题,我将重点介绍微服务的核心模式。
上面提到的模式用于处理当我们转向微服务时出现的问题。你的问题之一是,“我们永远无法确定哪台机器将运行我们的微型服务”解决这个问题的一个天真的方法是,我们维护某种包含机器及其服务的详细信息的地图。为了在服务之间建立通信,我们可以使用该地图。但这种做法是幼稚的,也有其自身的问题。
因此,为了解决这个问题,我们必须使用路由模式。在路由模式中,有一个服务发现的概念,不同的平台提供了不同的服务发现方法。例如: Netflix提供了Eureka和虚拟客户端,后来在Spring中添加了该服务,HashiCorp为领事提供了服务发现,而AWS也有其服务发现机制。
话虽如此,我可以得出结论,您可以通过不同的方式从spring的一个微服务调用另一个服务。但是,由于您更关心spring云,所以在spring中您需要Eureka服务器和伪客户端。将它们添加到项目中相当简单。
您可以按照本教程使用Eureka并伪造客户端https://dzone.com/articles/microservices-communication-feign-as-rest-client。
发布于 2020-09-10 10:58:58
中的@FeignClient注释
https://github.com/saturnism/spring-cloud-gcp-guestbook/blob/master/1-bootstrap/guestbook-frontend/src/main/java/com/example/frontend/GuestbookMessagesClient.javahttps://stackoverflow.com/questions/63828114
复制相似问题