HazelcastInstance 与 HazelcastClient
Posted
技术标签:
【中文标题】HazelcastInstance 与 HazelcastClient【英文标题】:HazelcastInstance vs HazelcastClient 【发布时间】:2017-02-27 11:57:29 【问题描述】:我是 hazelcast 的新手,我有几个问题。
据我了解 hazelcast 带有两个实体 HazelcastInstance
(据我了解是服务器)和 HazelcastClient
。
这些实体甚至装进不同的罐子里。
我注意到在我们的项目中我们只使用HazelcastInstance
。我问过同事为什么不使用HazelcastClient
。据我了解他们的解释HazelcastInstance
比HazelcastClient
有更多的可能性。因此
HazelcastInstance
= HazelcastClient
+ AnotherFeatures
但对我来说很奇怪,如果这是真的,这些实体会打包到不同的包装中。
请解释我什么时候应该使用HazelcastClient
,什么时候应该使用HazelcastInstance
【问题讨论】:
【参考方案1】:HazelcastInstance
,正如你所说的,是一个 Hazelcast 成员实例。因此它存储信息并可以在集群中执行任务。 HazelcastClient
虽然只是另一个正在运行的 Hazelcast 集群的代理。在考虑关系数据库时,您可以将其想象为 JDBC 连接器。它本身既不存储数据,也不执行通过 ExecutorService 功能发送的任务。
如果您的同事将其命名为“更多功能”,那么公平地说,我更愿意说服务器-服务器环境和客户端-服务器环境:)
【讨论】:
请解释我什么时候应该选择 HazelcastClient 而不是 HazelcastInstance ? 我们总是推荐客户端-服务器而不是嵌入式集群(仅限服务器-服务器)。也就是说,您最有可能在您的应用程序中看到 HazelcastClient。最后,这取决于您的架构。您可能应该阅读 Hazelcast 文档的介绍章节,以更好地了解 Hazelcast 在内部的工作原理以及不同拓扑设置的好处。以上是关于HazelcastInstance 与 HazelcastClient的主要内容,如果未能解决你的问题,请参考以下文章
基于Hazelcast及Kafka实现的分布式锁与集群负载均衡