【发布时间】:2019-06-14 21:47:04
【问题描述】:
假设有两个服务,
- 产品服务
- 优惠券服务
优惠券是针对产品标记的。当任何产品的优惠券发生变化时,都会有一个从产品服务到优惠券服务的 API 调用,计算优惠券折扣并将其发送回产品服务。产品服务维护该缓存。但是,为了计算折扣,优惠券服务需要产品信息,如产品类别、SKU 类型等,折扣会根据这些信息而变化,因此再次对产品服务进行 API 调用,使其成为循环调用。有几种解决方案,
- 在优惠券服务中维护产品缓存。 - 这是一个开销,因为我们需要在每次产品字段更新时维护缓存,这不是我们正在寻找的解决方案。
- 当产品服务对优惠券服务进行 API 调用时,发送它需要的所有字段 - 这种方法存在紧密耦合。
解决这个问题的正确方法是什么?
【问题讨论】:
-
在这些情况下,我不会拆分成不同的微服务。将它放在同一个服务中,您将获得性能并跳过开销。
标签: rest web-services microservices loose-coupling