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