我有一个集群,它有2个定位器2个服务器和一些静态区域。
在灾难模式下,当整个集群关闭时,我希望我的客户端(JAVA和c)在集群启动时自动重新连接。考虑到我们在区域上使用连续查询和侦听器的事实。
症状是当我们在相同的端口上使用相同的集群配置重新启动集群时,会创建静态区域,但不会创建动态区域,并且集群无法重新创建集群correclty。
使用连续查询和侦听器的客户端无限期挂起。
如果至少在没有任何数据的情况下正确创建了所有区域,我可以使客户端代码具有弹性。
附言:我们使用此代码创建动态区域https://geode.apache.org/docs/guide/11/developing/region_options/dynamic_region_creation.html
集群配置服务包含所有已持久化到它的配置元素,通过API手动或使用GFSH命令。动态创建区域中显示的示例的“问题”是它不会持久化集群配置服务中的更改,因此,当集群再次启动时,区域不会自动恢复。
为了持久化更改,您需要使用新的ConfigurationPerstienceService,请记住,该功能目前被标记为实验性的,因此可能会发生更改。例如用法和详细解释,请查看Configuration PerstienceService。作为附带说明,几乎所有GFSH命令都使用此服务,您可能需要查看Command dExecator以了解更多详细信息。
希望这有帮助。干杯。