Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“如何确保java客户端继续”;“工作”;以防整个hazelcast集群停机_Java_Hibernate_Hazelcast_Failover_Failovercluster - Fatal编程技术网

“如何确保java客户端继续”;“工作”;以防整个hazelcast集群停机

“如何确保java客户端继续”;“工作”;以防整个hazelcast集群停机,java,hibernate,hazelcast,failover,failovercluster,Java,Hibernate,Hazelcast,Failover,Failovercluster,我们目前正在为hazelcast在未来几周的直播做准备。还有一个更大的问题,它困扰着我们的运营部门,如果我们无法解决它,它可能会成为一个阻碍演出的因素 因为我们维护的是一个高可用性支付应用程序,所以我们必须在集群不可用的情况下生存下来。原因可能是: 有人把hazelcast配置搞砸了,集群上的地图会增加,直到我们有了OOM(测试系统上有这个) 网卡/硬件存在一些问题,暂时中断了与群集的连接 OPs人员重新配置了防火墙,意外地封锁了一些必要的端口,不管怎样 还有别的吗 我花了一些时间寻找好的现有解

我们目前正在为hazelcast在未来几周的直播做准备。还有一个更大的问题,它困扰着我们的运营部门,如果我们无法解决它,它可能会成为一个阻碍演出的因素

因为我们维护的是一个高可用性支付应用程序,所以我们必须在集群不可用的情况下生存下来。原因可能是:

  • 有人把hazelcast配置搞砸了,集群上的地图会增加,直到我们有了OOM(测试系统上有这个)
  • 网卡/硬件存在一些问题,暂时中断了与群集的连接
  • OPs人员重新配置了防火墙,意外地封锁了一些必要的端口,不管怎样
  • 还有别的吗
  • 我花了一些时间寻找好的现有解决方案,但到目前为止唯一的解决方案是增加备份服务器的数量,这当然不能解决问题

    在我当前的测试中,应用程序完全停止工作,因为在某些重试之后,客户端从集群断开连接,hibernate二级缓存不再工作。由于我们在整个生态系统中使用hazelcast,这几乎会立即杀死40个java客户端


    因此,我想知道当集群关闭时,我们如何才能实现应用程序仍然以较慢的方式工作。我们目前的方法是切换到ehcache本地缓存,但我认为应该有hazelcast解决方案来解决这个问题

    如果我是你,我会使用a并将设置为springbean,如果Hazelcast服务器关闭,它可以将调用委托给Hazelcast或a


    这是可取的,因为Hibernate假设缓存实现总是可用的,所以您需要提供自己的CacheRegion代理,它可以在运行时决定缓存区域路由。

    也许我的想法是错误的,但我同意。RegionFactory仅用于构建不同的区域(实体、集合、查询结果、时间映射),hibernate在启动和关闭SessionFactoryImpl时使用它。区域构建完成后,hibernate迭代区域并获取区域访问策略。这意味着,仅仅替换区域并不能解决问题,因为hibernate仍然会在内部使用“错误”的访问策略来访问不同的区域。在我们当前的方法中,我们构建了一个包装器,它同时使用ehcache和hazelcast区域,并在集群关闭时切换,但这相当脏,我真的很想只使用hazelcast。我不认为它脏。任何其他实现也可能失败。缓存提供程序上的内存或磁盘空间可能不足,异常将传播到应用程序。因此,回退方法是实现高可用性的最佳方法。@u6f6o我也面临同样的问题。你能解决这个问题吗。您能分享一个示例代码吗?另外,我认为LocalSessionFactoryBean不能与SpringDataJPA一起工作,因为这需要EntityManagerFactory。。。