繁体   English   中英

Ignite 集群在 Kube.netes 中运行,但应用程序在它之外

[英]Ignite cluster runs within Kubernetes, but applications are outside of it

有没有办法将在 Kube.netes 之外的 Windows 机器中运行的 C# 胖客户端与 Kube.netes 中存在的 Apache Ignite 集群节点连接起来。

下面指定的文章说这是不可能的,但这篇文章写于 2020 年。我们正在从下面的文章https://dzone.com/articles/apache-ignite-on-kube.netes-things-to-中寻找场景 3 了解我希望场景 3 可能有一些改进。

我们不想将我们的 C# 胖客户端转换为瘦客户端,因为我们正在使用 Data Streamer 批量插入数据,而瘦客户端不提供相同的功能。

这里的建议是使用瘦客户端。 .net 瘦客户端确实具有数据流处理器 API。

没有直接的方法可以将 Kube.netes 外部的胖客户端节点连接到它内部的集群。

要解决评论部分的要点:

我们正在寻找使用 DataStreamer 瘦客户端支持 Data Streamer 的批量数据更新,一次只能更新 1 个键值对,这是性能问题

IDataStreamerClient.Add将数据添加到内部缓冲区,它不会通过网络逐一发送条目。 在循环中调用Add没有性能问题。 精简数据流和厚数据流显示出相似的性能

有关详细信息,请参阅API 文档

与 IDataStreamer 相比,我们在 IDataStreamerClient 中找不到 AllowOverwrite、AutoFlushFrequency 参数

请参见DataStreamerClient 选项

var options = new DataStreamerClientOptions
{
    SkipStore = true,
    AllowOverwrite = true,
    AutoFlushInterval = TimeSpan.FromSeconds(5),
    PerNodeBufferSize = 1024,
    PerNodeParallelOperations = Environment.ProcessorCount 
};

using (var streamer = Client.GetDataStreamer<int, int>(cacheName, options))
{
    foreach (var x in Enumerable.Range(1, 300))
    {
        streamer.Add(x, -x);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM