[英]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 参数
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.