在我们的集群设置中,我们有 5-10 个服务器节点和 10-200 个客户端节点。我们根据工作负载动态增加或减少客户端节点的数量。截至目前,我们正在使用基于 S3 的发现,但想了解动态集群的 Ignite 建议以及基于 S3 的发现建议的节点数量。如果我遵循下面的 Ignite 文档,我不太清楚哪种策略更适合我的用例,即集群中最多 200 个节点:
Ignite provides two implementations of the discovery mechanism intended for different usage scenarios:
TCP/IP Discovery is designed and optimized for 100s of nodes.
ZooKeeper Discovery that allows scaling Ignite clusters to 100s and 1000s of nodes preserving linear scalability and performance.
文档链接: https://ignite.apache.org/docs/2.9.1/clustering/clustering
最佳答案
只要它工作正常,我不会对发现进行更改。说到S3 IpFinder,我认为没有任何建议,并且它已经在数百个客户端节点上进行了测试,只是因为它不受欢迎。
问题中的引用更多是关于服务器节点的。请记住,Ignite 默认情况下使用环形拓扑配置,要求消息穿过所有节点。如果您有很多节点,可能需要一些时间,在本例中,ZookeeprDiscovery被推荐。 Zookeeper 的问题是它需要额外的软件和配置。
这是假设您正在谈论厚客户端,而不是瘦客户端。不过,拥有如此不同数量的客户看起来有点可疑。如果仅涉及简短的用户任务(例如进行查询或发送计算任务),请考虑使客户端保持事件状态以供重用。检查是否可以切换到瘦客户端。它们不是拓扑的一部分。
关于ignite - Ignite 中基于 S3 的发现建议的最大节点数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75542239/