java - Spring微服务: response with info from other microservices

标签 java spring microservices netflix-eureka

假设我们有两个服务 AccountService 和 OrderService。两者均已在 Eureka 注册。现在,第三个服务可以从 Eureka 获取有关这两个服务的信息并进行调用,但是我需要的是,当执行获取订单调用时,它应该在内部调用帐户服务以获取要在订单 bean 中填写的帐户信息,然后进行响应。请注意,每个服务的数据库都不同,帐户 ID 也存储在订单表中以供引用。 现在应该如何构建订单服务,以便在运行时它可以获取帐户并使用该信息构建订单对象。 现在,在所有实体都位于单个 RDBMS 中的整体设计中,使用 hibernate 管理嵌套对象会非常容易,但不确定如何在微服务中处理它,其想法是完全解耦它们。

class Account(){
String name;
Long acct_id;
}
class Order(){
Account acct;
int order_id;
....
}

最佳答案

可以通过多种方法来做到这一点:

  1. 第三个服务可以调用订单服务来获取订单信息,然后根据帐户 ID 调用帐户服务来获取帐户信息并构建订单对象。

  2. 订单服务可以根据账号调用账户服务,并将其设置为订单对象,然后再响应第三个服务。

  3. 订单服务可以在其数据库中保留帐户信息的影子副本(例如,使用事件源),并且可以自行使用帐户信息构建订单对象。

关于java - Spring微服务: response with info from other microservices,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34402406/

相关文章:

java - 没有为 spring boot 元素加载静态 css

java - Spring boot OIDC刷新 token 场景

rest - 微服务中 REST 的 URL 模式

node.js - 使用流式 JSON 连接两个 Node/Express 应用程序

Java - Swing 中的监听器

java - 如何在不触发 SelectionChanged() 的情况下设置树查看器的选择?

java - 从hadoop 1迁移到hadoop2后如何恢复hadoop Mapreduce作业的性能

java - 线程中的异常 "main"org.springframework.context.ApplicationContextException : Unable to start embedded container;

java - 如何通过 Sort 和 Pageable 使用 Spring data JPA 开箱即用地查询数据?

java - Spring 轮廓模糊性