【问题标题】:how reduce API calls between microservices spring boot [closed]如何减少微服务spring boot之间的API调用[关闭]
【发布时间】:2021-06-11 21:02:55
【问题描述】:

我有两个 Spring Boot 微服务,例如 qbankreports。对于通信,我使用 API 调用。

问题 - 在 repots 函数中,我需要来自 qbank 的一些数据,但由于用户流量过大,该函数被频繁调用。

qbank 的数据变化不是那么频繁,管理员可能会在一个月内手动更改。

那么我怎样才能减少 API 调用呢?我认为的解决方案 -

  1. 缓存 - 问题 - 如何保持更新?在qbank 数据更改后需要非常快速地修改。 (不允许从qbankreports 的API 调用)

  2. Kafka - 对它了解不多,但它有帮助吗?如果是,那怎么办?

欢迎提出任何建议。

【问题讨论】:

标签: caching apache-kafka microservices


【解决方案1】:

qbank 数据变化不是那么频繁,管理员可能会在一个月内手动更新

使用 Kafka Connect 对 qbank 数据进行 CDC(更改数据捕获)

其中一种选择是在报告数据库中拥有 qbank 数据的副本。

Kafka Connect 可用于监控 qbank 数据并检测 qbank 数据(源)上发生的任何更改,并将其复制到报告数据库(接收器)中。

  • 来源连接器(qbank 数据库)
  • 接收器连接器(报告数据库)

缓存可以是微服务中用于跨服务共享数据的另一种选择,但选择正确的缓存机制/策略取决于各种因素。

  • 缓存策略
  • 驱逐政策
  • 数据访问策略
  • 数据类型明智的缓存 等等。

【讨论】:

    猜你喜欢
    • 2021-01-01
    • 2017-10-19
    • 2018-11-03
    • 2018-03-17
    • 1970-01-01
    • 1970-01-01
    • 2020-12-25
    • 1970-01-01
    • 2020-05-27
    相关资源
    最近更新 更多