我正在尝试使用Sping Boot 微服务框架构建一个新的应用程序。我尝试了一些demo。现有的demo太简单了,没有介绍如何从一个服务调用另一个服务。应该还是通过http,还是应该通过RPC?如果要RPC,RPC框架支持哪些?
rqcrx0a61#
服务之间的集成方式取决于许多因素,比如同步性/可扩展性,将生成的负载等。最流行的(我猜)集成方式是基于REST的集成方式。因为你用spring标记了你的问题,我建议使用声明式REST客户端- Feign,这在这里有很好的描述。你也可以使用消息代理,Spring Cloud Stream也很好地抽象了它们-你可以阅读更多的here。我认为更深入的讨论应该基于你的需求。
spring
gtlvzcf82#
如果另一个微服务公开REST API,那么您可以简单地使用jersey client或者httpclient来调用它们。
4urapxun3#
对于基于Spring的Rest API,使用RestTemplate或FeignClient。对于异步调用,如Kafka、ActiveMQ或RabbitMQ,使用任何消息工具。
3条答案
按热度按时间rqcrx0a61#
服务之间的集成方式取决于许多因素,比如同步性/可扩展性,将生成的负载等。最流行的(我猜)集成方式是基于REST的集成方式。因为你用
spring
标记了你的问题,我建议使用声明式REST客户端- Feign,这在这里有很好的描述。你也可以使用消息代理,Spring Cloud Stream也很好地抽象了它们-你可以阅读更多的here。我认为更深入的讨论应该基于你的需求。gtlvzcf82#
如果另一个微服务公开REST API,那么您可以简单地使用jersey client
或者httpclient来调用它们。
4urapxun3#
对于基于Spring的Rest API,使用RestTemplate或FeignClient。对于异步调用,如Kafka、ActiveMQ或RabbitMQ,使用任何消息工具。