HazelcastInstance和HazelcastClient的区别

12

我是hazelcast的新手,有几个问题想问。

据我所知,hazelcast有两个实体HazelcastInstance(我理解它是服务器)和HazelcastClient
这些实体甚至被打包到不同的jar中。

我注意到在我们的项目中,我们只使用HazelcastInstance。我问过同事为什么不使用HazelcastClient。据我理解他们的解释是HazelcastInstanceHazelcastClient具有更多的功能。因此

HazelcastInstance = HazelcastClient + AnotherFeatures

但对我来说,如果这是真的,这些实体被打包到不同的包中就很奇怪。

请解释一下何时应该使用HazelcastClientHazelcastInstance

1个回答

10

HazelcastInstance,正如你所说的,是一个Hazelcast成员实例。因此,它可以在集群中存储信息并执行任务。但是,HazelcastClient只是另一个正在运行的Hazelcast集群的代理。当考虑关系型数据库时,您可以将其想象为JDBC连接器。它既不存储数据,也不执行通过ExecutorService功能发送的任务。

如果您的同事称之为“更多功能”,那么很好,我更喜欢说服务器-服务器环境和客户端-服务器环境:)


请解释一下,我应该在什么情况下选择HazelcastClient而不是HazelcastInstance? - gstackoverflow
1
我们始终建议使用客户端-服务器架构而不是嵌入式集群(仅限服务器-服务器)。话虽如此,您最有可能在应用程序中看到HazelcastClient。最终,这取决于您的架构。您可能应该阅读Hazelcast文档的介绍章节,以更好地了解Hazelcast内部工作原理以及不同拓扑设置的优势。 - noctarius

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接