【问题标题】:spring boot microservice framework how to call another microservice from one microservicespring boot微服务框架如何从一个微服务调用另一个微服务
【发布时间】:2017-02-26 02:44:05
【问题描述】:

我正在尝试使用 Spring Boot 微服务框架构建一个新应用程序。我尝试了一些演示。现有demo过于简单,没有介绍如何从一个服务调用另一个服务。还是应该通过http,还是应该通过RPC?如果要使用 RPC,哪个 RPC 框架支持?

【问题讨论】:

  • 完全由您决定。很多人使用 HTTP - REST/SOAP。很多人使用消息传递——RabbitMQ 在 Spring Boot 中具有出色的支持。有些人使用 Akka 之类的框架来处理分发;但我不确定它与 Spring Boot 的集成程度如何。还有一些使用原始套接字和带有 UDP/多播的自定义协议来支持集群。还有一些人通过 Hazelcast 和 Teracotta 之类的方式使用共享对象。基本上,方法的数量是巨大的,如果没有一些标准,选择是任意的。
  • 非常感谢。所以如果性能不是问题,我想使用http,因为它很简单。 d

标签: java spring


【解决方案1】:

服务之间的集成方式取决于许多因素,例如同步性/异步性、将生成的负载等。最流行的(我猜)集成方式是基于 REST 的方式。因为您用spring 标记了您的问题,所以我建议您使用声明性REST 客户端-Feign 很好地描述了here。你也可以使用消息代理,它们也被 Spring Cloud Stream 很好地抽象了——你可以阅读更多here。我认为更深入的讨论应该基于您的需求。

【讨论】:

    【解决方案2】:

    如果其他微服务正在暴露 REST API,那么您可以简单地使用jersey client

    或httpclient 给他们打电话。

    【讨论】:

    • 或通过 RestTemplate 提供 Spring Rest 支持 - 可能更明智,因为 OP 明确提到了 Spring Boot。
    猜你喜欢
    • 2020-04-27
    • 2018-03-04
    • 2022-01-15
    • 1970-01-01
    • 2021-05-24
    • 2018-12-27
    • 1970-01-01
    • 2020-03-18
    • 2020-07-06
    相关资源
    最近更新 更多