我们拥有大量的tomcat服务器集群,我试图找到一种有效的方法来在所有这些集群中共享一个计数。此计数是购买的“小部件”数量,需要在每个页面视图中进行检查。任何服务器都可以完成销售并增加计数,此时应将新值提供给所有群集成员。拥有共享对象的Tomcat 6集群
我们不希望使用数据库中的计数,因为整个群集中的更新之间将存在许多页面查看,并且对于每个页面查看而言,对数据库的get操作似乎没有必要。
我们有一个广泛的memcached集群,我们可以在其中存储值,在每个页面视图中获取它,任何更新值的人都将新值设置为集群。由于每个页面视图都有一个缓存,这又浪费了。
我想要做的是在每台服务器上有一个内存中的值,并且一个多播(或类似的机制)消息告诉所有服务器,他们只是增加了,新的数字是X.这似乎是效率最高,因为只有在进行更新时才会执行操作,而不是为每个页面视图执行操作。
你是如何在你的应用程序中处理的?我是否过度思考这个......我们应该把它放在memcached中吗?
谢谢!
+1对于“无论是浪费还是另一个海洋,只有测试会告诉你” – 2010-02-03 02:53:02
那么,无论你如何分割它,它都是浪费......测试将决定多么浪费。 Memcached显然是阻力最小的路径,但我喜欢in-jvm缓存的想法。现在阅读。 – Matt 2010-02-03 15:45:38
我们决定现在就走简单的路线,并使用我们的memcached。我们将继续研究in-jvm缓存产品,但为了时间的利益,我们将继续使用我们现在的产品。 – Matt 2010-02-03 18:47:44