如何在ApacheIgnite.Net中使用TcpDiscoveryKubernetesIpFinder

如何在ApacheIgnite.Net中使用TcpDiscoveryKubernetesIpFinder,kubernetes,ignite,azure-aks,Kubernetes,Ignite,Azure Aks,我正在尝试在Kubernetes中部署ApacheIgnite集群。文档建议使用TcpDiscoveryKubernetesIpFinder来促进Kubernetes环境中的Ignite节点发现。但是,我在ApacheIgnitefor.Net中找不到这个类。它迁移到.Net了吗?如果没有,我如何在我的网络应用程序中使用?我对Java不是很熟悉 如果不可能,是否有替代方法可以在Kubernetes环境中实现节点发现而不使用TcpDiscoveryKubernetesIpFinder?多播在Azu

我正在尝试在Kubernetes中部署ApacheIgnite集群。文档建议使用TcpDiscoveryKubernetesIpFinder来促进Kubernetes环境中的Ignite节点发现。但是,我在ApacheIgnitefor.Net中找不到这个类。它迁移到.Net了吗?如果没有,我如何在我的网络应用程序中使用?我对Java不是很熟悉

如果不可能,是否有替代方法可以在Kubernetes环境中实现节点发现而不使用TcpDiscoveryKubernetesIpFinder?多播在Azure虚拟网络中不可用

我的Kubernetes子网中可用IP的范围是1000多个地址,因此使用TcpDiscoveryStaticIpFinder将不会非常有效。我试图将本地PC上的FailureDetectionTimeout减少到1秒,以提高效率,但Ignite会生成一系列“严重线程阻塞”异常,据说每次发现端点不可用时都会发生。所以我必须摆脱FailureDetectionTimeout


我正在使用Azure Kubernetes服务和ApacheIgnite2.7 for Net。先谢谢你

您可以将基于Java(SpringXML)的配置与.NET配置相结合

  • 在SpringXML文件中配置TcpDiscoveryKubernetesIpFinder(请参阅)

  • 在.NET中,将
    IgniteConfiguration.SpringConfigUrl
    设置为指向该文件


  • 它的工作方式是Ignite首先加载SpringXML,然后应用在.NET端指定的任何自定义配置属性。

    我创建了配置文件,从Ignite-kubernetes目录复制了Ignite-kubernetes-2.7.0.jar类和其他类。现在,当我启动应用程序时,我得到一个jarnotfound错误。Ignite中的其他所有功能都能成功运行,其他Ignite类也正在被发现。当我使用spring配置时,是否应该在别处指定类路径无法从Spring XML实例化配置:。。。原因:class org.apache.ignite.IgniteCheckedException:未能实例化Spring XML应用程序上下文(确保Spring配置中使用的所有类都存在于类路径中),结果是我需要指定ignite-kubernetes-2.7.0.jar的完整路径,包括文件名,在IgniteConfiguration中,除了IgniteHome之外,还有JvmClasspath。@如果您将
    ignite-kubernetes-2.7.0.jar
    放在项目的输出目录的所有其他jar文件旁边,将
    Libs
    文件夹中,可以避免使用AlexAvrutin设置
    JvmClasspath
    。我确实这样做了,但没有帮助。我有另一个与此相关的问题(Ignite node无法启动),我将为此创建另一个问题。添加了另一个问题: