【问题标题】:hazelcast deployment implementationhazelcast 部署实现
【发布时间】:2014-08-07 17:42:47
【问题描述】:

我有一个包含几个模型类的应用程序。这些模型类存储在我的应用程序的 Hazelcast 地图中。我正在尝试使用 hazelcast 客户端连接到 hazelcast 服务器节点。我已将 map-store-enabled 设置为 true,并将初始加载模式设置为 EAGER。我应该执行以下操作:

  1. 在客户端和服务器上复制相同的 hazelcast.conf 文件,还是应该只在服务器(或仅客户端)上将地图存储保持启用状态?
  2. 如果我在服务器上保留 map-store-enabled=true,我猜我需要在那里部署我的地图存储类。这是正确的方法吗?

谢谢

【问题讨论】:

    标签: java hazelcast


    【解决方案1】:

    客户端具有不同的配置,因此将其复制到客户端是没有意义的。只有服务器需要它。

    地图存储类需要在服务器上,因为它只在服务器上运行。您放入地图的对象的类需要在客户端和服务器上都可用。

    【讨论】:

    • 只是为了让它正确。如果我有一个启用 Web 的应用程序,并且它使用客户端连接到服务器,则启用 Web 的应用程序不应在其配置中包含地图条目,这些是启用 Web 的应用程序使用的地图(但服务器应该有地图条目在其配置中以及地图存储实现应驻留在服务器上)。我猜地图存储实现应该只在一台服务器(不是所有服务器)上启用。这是正确的吗?
    • >> 只是为了让它正确......而且地图存储实现应该驻留在服务器上)。正确的。顺便说一句,客户端不关心是否有可用的服务器相关功能,它不会做一些意想不到的事情。它只是不太干净。 >> 我猜地图存储实现应该只在一台服务器(不是所有服务器)上启用。这个对吗?服务器的东西需要在所有服务器上。我们不支持分布式类加载,因此类/配置需要在所有服务器节点上可用。
    • 感谢您的回复。假设我有三张地图(实施了 mapstore 的 map1-3),并且我有 5 台服务器(在其上实施了 hazelcast 服务器),我是否应该在所有 5 台服务器上为 map1 启用地图存储为 true?我可以看到加载和存储,但我不确定这是否会导致 loadAll 出现问题) - 应该在所有服务器上还是只在一个服务器上?
    • 是否有可能避免在地图的两侧(即服务器和客户端)放置我放在地图中的对象类?例如,是否有一种通用的序列化魔法可以以某种方式应用于服务器?或者我可以以 JSON 或文本形式提供对象以避免这种情况吗?我想增加分离度。
    猜你喜欢
    • 1970-01-01
    • 2014-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-16
    • 2019-08-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多