在我的J2EE Web应用程序中,我必须将每个Web API调用的计数发送到隔离线程,以计算调用次数。可能性包括:
a)使用原子长度。我想如果我在一分钟内有数百万的电话会引起争用。因为,所有线程都会尝试更新单个变量。
b)使用共享队列。每个请求处理线程都将插入到队列中,专用计数器线程将从该队列中出列并递增计数。
c)使用演员模型,比如使用Akka库。向actor发送异步消息,并将其添加到计数中。
我的问题是方法(b)与(c)的比较。什么是利弊,以及它们在低层次上有何不同?
答案 0 :(得分:1)
在你的情况下,我相信演员模型应该是更好的选择。 与Akka的优点 -
有一个类似的问题 - When to use actors instead of messaging solutions such as WebSphere MQ or Tibco Rendezvous?