新的hazelcast ,希望了解群集中客户端和服务器功能的功能。 假设我有4个不同的服务器(不是指hazelcast服务器)/机器,我想最大化RAM利用率: -
我知道这会根据要求而有所不同,但我希望得到一个大致的想法。
答案 0 :(得分:0)
添加欧内斯特的陈述。您通常希望数据保存在缓存中并处理在客户端上。然而,使用淡褐色,它不一定是这样。检查文档中的一些有趣的功能,如ExecutorService和EntryProcessors。
您可能还想查看Near缓存的概念,您仍然可以在专用的Hz实例(服务器)上保存数据,同时在客户端中维护近缓存。要注意围绕此问题的数据同步挑战,尽管这在大多数情况下都很有效(同样非常主观)。 希望这些指针能够从一开始就提出一些想法。一切都好!
答案 1 :(得分:0)
您的问题没有单一的答案。有许多因素需要考虑。例如,您的一个问题是业务逻辑所在的位置。这在很大程度上取决于如何使用淡褐色。让我们说Hazelcast纯粹用于缓存目的。然后,业务逻辑将在客户端进行。
另外,如果我们说Hazelcast充满了丰富的Pojos,并且使用了域驱动设计,那么我们可以说逻辑就在于haelcast实例本身。通常在现实生活中,真相介于两者之间
在内存利用率方面,这在很大程度上取决于你的设置预算等等......我们可以说,如果你有一台服务器有很多内存,你不使用任何来自Hazelcast的商业插件在运行具有大量内存的单个节点时,关闭内存堆然后在具有有限内存量的同一台机器上运行多个hazelcasts将更有益。
还应该注意的是,分配超过32Gigs堆的现象将驱使你进入64位宇宙。
这又取决于很多因素。如果你有一个实时交互式应用程序,你不能容忍大的GC pausas,所以你会倾向于使用更多的小网页榛子。如果你有非交互式应用程序容忍大的GC暂停,那么你可以拥有大堆的另一种方式。所以你看到你的问题没有简单的答案。