gpt4 book ai didi

java - 分布式缓存以避免重复请求

转载 作者:行者123 更新时间:2023-11-30 07:19:30 24 4
gpt4 key购买 nike

同一 ServiceA 的多个实例在不同的 jvm 上运行。但它们都共享来自数据库的相同后端数据

当客户端发出请求时,ServiceA 会查找其数据库中的数据是否可用,如果没有,则请求另一个 ServiceB 获取该数据并将其存储在其数据库中,然后将其返回给客户端。

如果两个客户端同时发出请求,并且 ServiceA 的两个实例处理这些请求,则这两个实例都可以有效地调用 ServiceB 来获取该数据。我应该如何处理这种情况,以便只有一个对 SerivceB 的请求。

最佳答案

两个添加到什么@norbert-van-nobelen说;

还有两种可能性。

  • 一是让您的 ServiceB 决定处理哪个请求
  • 另一个选项是允许 ServiceA 与 ServiceB 同步并处理竞争条件。

由于您的服务描述对我来说非常抽象,因此您可以在 serviceB 中实现一些分布式锁,或者合并分布式缓存来为您完成此操作。

一个例子; http://blogs.alachisoft.com/distributed-locking/

关于java - 分布式缓存以避免重复请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37819554/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com