【问题标题】:How to connect Apache Ignite Thin Client to Apache Ignite Cluster?如何将 Apache Ignite 瘦客户端连接到 Apache Ignite 集群?
【发布时间】:2021-05-23 23:18:51
【问题描述】:

我有一个正在运行的 Ignite 集群,我使用 AWS S3 进行节点发现:

TcpDiscoveryS3IpFinder ipFinder = new TcpDiscoveryS3IpFinder();
BasicAWSCredentials awsCredentials =
    new BasicAWSCredentials(igniteAccessKey, igniteSecretAccessKey);
ipFinder.setAwsCredentials(awsCredentials);
ipFinder.setBucketName(igniteBucketName);
ipFinder.setBucketEndpoint("s3.eu-central-1.amazonaws.com");

TcpDiscoverySpi spi = new TcpDiscoverySpi();
spi.setIpFinder(ipFinder);

IgniteConfiguration cfg = new IgniteConfiguration();
cfg.setClientMode(true);

cfg.setDiscoverySpi(spi);
Ignition.start(cfg);    

效果很好,我可以使用Apache Ignite Client 节点连接到这个集群。

但是Apache Ignite Thin Client 呢? Thin client 使用需要集群节点 IP 地址列表的 ClientConfiguration 类(而不是 IgniteConfiguration)。 AFAIK 只能硬编码该 IP 地址列表。
来自官方文档:

ClientConfiguration cfg = new ClientConfiguration().setAddresses("127.0.0.1:10800");
try (IgniteClient client = Ignition.startClient(cfg)) {
    ClientCache<Integer, String> cache = client.cache("myCache");
    // Get data from the cache
}

所以我有问题:

  1. 当 IP 地址列表发生变化时,我应该如何处理?
  2. 有什么方法可以为Thin clients 使用节点发现?

【问题讨论】:

    标签: java ignite gridgain


    【解决方案1】:

    您可以使用域名和 IP 地址。但是您不能对瘦客户端使用节点发现。

    【讨论】:

    • 感谢您的回答,但是人们在生产中做什么?什么是最佳做法?
    猜你喜欢
    • 2020-02-14
    • 2021-10-04
    • 2019-07-20
    • 2020-06-21
    • 2021-09-22
    • 2019-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多