gpt4 book ai didi

java - 共享队列 VS Actor 模型

转载 作者:行者123 更新时间:2023-12-01 11:03:36 25 4
gpt4 key购买 nike

在我的 J2EE Web 应用程序中,我必须将每个 Web API 调用的计数发送到隔离线程以计算调用次数。可能性包括:

a) 使用原子长整型。我认为如果我在一分钟内有数百万个调用,这会引起争用。因为,所有线程都会尝试更新单个变量。

b) 使用共享队列。每个请求处理线程都会插入到队列中,专用计数器线程将从该队列中出队并增加计数。

c) 使用 actor 模型,例如使用 Akka 库。向参与者发送一条异步消息,这会将其添加到计数中。

我的问题是方法 (b) 与 (c) 相比如何。有哪些优点和缺点,以及它们在低级别上有何不同?

最佳答案

就你的情况而言,我相信 Actor 模型应该是更好的选择。Akka 的优点-

  • 使用 Akka 的 Actor 模型将负责线程管理,并且很容易实现
  • 此外,将来如果您想为不同类型的请求实现计数器,您只需为此添加一个新的参与者即可。

有一个类似的问题- When to use actors instead of messaging solutions such as WebSphere MQ or Tibco Rendezvous?

关于java - 共享队列 VS Actor 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33144404/

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