gpt4 book ai didi

java - 哪种设计模式或缓存策略适合这种模式?

转载 作者:行者123 更新时间:2023-11-29 05:31:19 26 4
gpt4 key购买 nike

我需要在我的应用程序主页上使用一些第三方系统的服务。与这些下游系统相关的数据以不同的时间间隔更新,理想情况下我的系统将显示最新数据。每次用户访问我的主页时,我的系统都不会向这些下游系统中的每一个发出请求,这不是一个可扩展的解决方案。我可以使用什么策略来确保我表面的数据是最新的而不影响这些下游系统的可靠性?

消费者/生产者策略是否最适合此要求?

最佳答案

就像其他答案所指出的那样,缓存在您的案例中听起来是个不错的策略。

不过,另一种方法是使用基于pubsub 的设计(而非生产者-消费者)。例如,您可以让 3 个线程对服务进行采样,每个线程都以自己的速率进行采样,然后发布新数据。您的主系统订阅这些更新(可以在另一个线程中读取它们),并更新其内部状态。

Producer-consumer 类似,但不适合您的情况,因为客户端(您的主系统)不需要消费数据。想象一下,您有多个系统使用来自服务的相同数据——每个系统都需要订阅这些更新,但不需要使用它们,因为更新需要到达所有客户。生产者-消费者适用于任务池之类的事情,其中​​每个工作人员都需要消费消息,因为每个任务应该只由一个工作人员运行。

关于java - 哪种设计模式或缓存策略适合这种模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21006390/

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