开发者社区> 问答> 正文

用于第二个Hibernate缓存的Hazelcast实例无法在Kubernetes中稳定连接

我使用Kubernetes(GKE)中部署的嵌入式Hazelcast在Spring Boot应用程序中启用二级缓存Hibernate。Spingboot应用程序使用spanner-jdbc(https://github.com/olavloite/spanner-jdbc)连接到Spanner 。我将1个服务(副本= 2)部署到k8s,但是位于2个pod中的hazelcast实例无法稳定连接(它在服务器启动时起作用,但之后似乎断开连接,请在下面的日志中)。这导致2个pod之间无法共享第2级缓存。

com.hazelcast.poc
hazelcast-poc
0.0.1-SNAPSHOT
hazelcast-poc
Demo project for Spring Boot

<java.version>1.8</java.version>

<dependency>
    <groupId>nl.topicus</groupId>
    <artifactId>spanner-jdbc</artifactId>
    <version>1.0.8</version>
</dependency>

<dependency>
    <groupId>nl.topicus</groupId>
    <artifactId>spanner-hibernate</artifactId>
    <version>0.7</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
    <groupId>com.hazelcast</groupId>
    <artifactId>hazelcast</artifactId>
    <version>3.11</version>
</dependency>
<dependency>
    <groupId>com.hazelcast</groupId>
    <artifactId>hazelcast-hibernate5</artifactId>
    <version>1.3.0</version>
</dependency>
<dependency>
    <groupId>com.hazelcast</groupId>
    <artifactId>hazelcast-kubernetes</artifactId>
    <version>1.3.1</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>

<dependency>
    <groupId>org.assertj</groupId>
    <artifactId>assertj-core</artifactId>
    <version>3.8.0</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.hamcrest</groupId>
    <artifactId>hamcrest-all</artifactId>
    <version>1.3</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>com.fasterxml.uuid</groupId>
    <artifactId>java-uuid-generator</artifactId>
    <version>3.1.5</version>

展开
收起
k8s小能手 2019-01-09 14:04:31 2707 0
1 条回答
写回答
取消 提交回答
  • 整合最优质的专家资源和技术资料,问答解疑

    您正在创建两个Hazelcast实例

    在9:36:44.990 kubernetes发现实例

    在9:36:53.706一个多播发现实例

    可能是这再次

    设置hibernate.cache.hazelcast.instance_name系统属性和config.setInstanceName("whatever")配对应匹配

    2019-07-17 23:24:58
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
ACK 云原生弹性方案—云原生时代的加速器 立即下载
ACK集群类型选择最佳实践 立即下载
企业运维之云原生和Kubernetes 实战 立即下载

相关镜像