首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >微服务中的循环api调用

问微服务中的循环api调用
EN

Stack Overflow用户
提问于 2019-01-21 13:27:12
回答 1查看 632关注 0票数 0

假设有两种服务,

  1. 产品服务
  2. 优惠券服务

优惠券是贴在产品上的。当任何产品的优惠券被更改时,就会有一个API调用,从产品服务到优惠券服务,计算优惠券折扣并发送回产品服务。而产品服务维护了这个缓存。然而,为了计算折扣,优惠券服务需要产品类别、SKU类型等产品信息,折扣也因此而变化,因此对产品服务再次进行API调用,使其循环调用。有几个解决方案,

  1. 在优惠券服务中维护产品缓存。-这是一种开销,因为我们需要在每个产品字段更新上维护缓存,这不是我们正在寻找的解决方案。
  2. 当产品服务对优惠券服务进行API调用时,发送它所需的所有字段--这种方法是紧密耦合的。

解决这个问题的正确方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2019-01-21 16:44:52

如果您已经决定为此需要两种不同的服务,我同意周期性依赖是一种坏的,值得尝试删除。

然而,我并不认为这里需要它。我认为“优惠券”服务需要知道“产品”服务,反之亦然。

但是,您所面临的问题是您的优惠券服务需要响应正在发生的产品服务的变化。现在,您通过让产品服务向优惠券服务发送消息来解决这个问题。

解决这一问题的一些可能性包括:

  1. 让优惠券服务偶尔轮询更新。
  2. 部署一个发布子系统。做一个“产品变化”的东西,你可以订阅,并让优惠券订阅。

不过,我建议第三种选择。在我看来,“优惠券变化”这个概念在产品服务中根本不应该存在。为什么要这样?听起来你实际上可能有3种不同的服务:

  1. 产品信息
  2. 优惠券信息
  3. 购物车
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54291062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档