Hazelcast +Sring Boot + Kubernetes -如何设置客户端-服务器拓扑

mefy6pfw  于 2023-08-27  发布在  Kubernetes
关注(0)|答案(3)|浏览(116)

我想看看如何使用Kubernete上的Hazelcast在我的Sping Boot 应用程序中配置Client-Server,因为我们希望能够在不同的Spring Boot应用程序之间共享该高速缓存(我已经能够使用Kubernetes设置嵌入式分布式缓存-这不是我们需要的)。在Sping Boot 单个应用程序的情况下(不在Kubernetes上),我会启动一个服务器,比如说使用'localhost',也启动连接到localhost的客户端。我也可以有多个示例(成员)的服务器,这将形成一个Hazelcast集群。
然而,在Kubernetes的情况下,我知道我们需要有两个不同的Sping Boot 应用程序,一个将作为服务器,其他的将作为客户端访问该高速缓存,但想知道客户端如何连接到服务器。因为在Spring的情况下,我们自动连接HazelcastInstance,所以我如何连接到在自己的Kubernetes Pod(和容器)中运行的服务器。

y0u0uwnf

y0u0uwnf1#

有一些Kubernetes here的部署指南,以及herehere的工作示例。
如果您的服务器pod正在加入,那么您几乎拥有它。客户端使用相同的发现机制。
hazelcast-kubernetes插件添加到客户机的pod中,并将配置属性设置为与服务器上的namespace、dns等相同的值。

oxf4rvwz

oxf4rvwz2#

谢谢尼尔。正如您所指出的,我目前在Kubernetes上配置嵌入式缓存的方式相同。我正在使用Service-Name和命名空间从HazelcastClient示例发现并连接到Server成员。
这是来自客户端Sping Boot 应用程序的HazelcastConfiguration:

@Bean
public HazelcastInstance hazelcastInstance() {
    final ClientConfig config = new ClientConfig();
    config.setClusterName("cluster-name");
    if (enableOnK8s) {
        config.getNetworkConfig().getKubernetesConfig().setEnabled(true)
            .setProperty("namespace", namespaceValue)
            .setProperty("service-name", serviceName);
    }
        return HazelcastClient.newHazelcastClient(config);
}

字符串
在Hazelcast Server Sping Boot 应用程序上,配置与Embedded Hazelcast配置保持相同。

6l7fqoea

6l7fqoea3#

Hi请找到我用来连接k8中部署的hazelcast的客户端配置。

@Bean
public ClientConfig hazelcastClientConfig() {
    ClientConfig config = new ClientConfig();
    ClientNetworkConfig networkConfig = config.getNetworkConfig();
    networkConfig.setSmartRouting(false);
    networkConfig.addAddress("<externalIp>:<port>"); // Replace with the actual IP address and port of your Hazelcast server
    return config;
}
@Bean
public HazelcastInstance hazelcastInstance() {
    return HazelcastClient.newHazelcastClient(hazelcastClientConfig());
}

字符串
我还使用了以下依赖项

<dependency>
  <groupId>com.hazelcast</groupId>
  <artifactId>hazelcast-client</artifactId>
  <version>3.12.13</version> 
</dependency>

相关问题