我正在尝试在Kubernetes中部署Apache Ignite集群。该文档建议使用TcpDiscoveryKubernetesIpFinder来促进Kubernetes环境中的Ignite节点发现。但是,我在.Net的Apache Ignite中找不到此类。是否完全迁移到.Net?如果没有,如何在Net应用程序中使用?我对Java不太熟悉。
如果不可能,是否存在另一种方法可以在Kubernetes环境中实现节点发现而不使用TcpDiscoveryKubernetesIpFinder?多播在Azure虚拟网络中不可用。
我的Kubernetes子网中的可用IP范围是1000多个地址,因此使用TcpDiscoveryStaticIpFinder效率不是很高。我试图将本地PC上的FailureDetectionTimeout减少到1秒以提高效率,但是据称每次发现端点不可用时,Ignite都会生成一堆“关键线程被阻止”异常。因此,我必须摆脱FailureDetectionTimeout。
我正在使用Azure Kubernetes Service和Apache Ignite 2.7 for Net。先感谢您。
最佳答案
您可以将基于Java的(Spring XML)配置与.NET配置结合使用。
TcpDiscoveryKubernetesIpFinder
(请参阅https://apacheignite.readme.io/docs/kubernetes-ip-finder)IgniteConfiguration.SpringConfigUrl
设置为指向该文件它的工作方式是Ignite首先加载Spring XML,然后应用在.NET端指定的所有自定义配置属性。
关于kubernetes - 如何在Apache Ignite .Net中使用TcpDiscoveryKubernetesIpFinder,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55388489/