理解InfluxDB企业版:什么是集群?

导航至

如果您刚开始使用InfluxDB企业版,可能会有一些疑问。这对我们来说是个好消息;疑问意味着您想了解更多。

今天的问题是:什么是集群?

一般来说,您可能知道集群是什么。我可以有一组节点或一组葡萄。但在InfluxDB企业版的世界里,它意味着什么呢?

<figcaption> 图:Puppy Enterprise中现在可用的集群功能 </figcaption>

InfluxDB企业版集群由两种类型的节点组成:元节点和数据节点。

您可以阅读官方文档,我们在这里讨论基础概念。

数据节点

所有原始时间序列数据都存储在数据节点上。您的Influx和/或Kapacitor实例在这里很舒适。它们不关心一致性,也不参与决策。数据节点在这里是为了保存您的数据。

为了高可用性,您需要至少2的复制因子。复制因子简单来说就是任何一个分片应该存在的副本数量。数据节点的数量应该是复制因子的倍数。您绝对不希望数据节点的数量为素数,有非常计算机科学的原因。请相信我们。

硬件

CPU:8+核心 内存:64+ GB 存储:SSD驱动器(建议大于1000 IOPS)

元节点

元节点的任务很简单:保持状态一致。简单,但真的很重要,尤其是在数据方面。您永远不想担心哪个分片存储在哪个节点上或达到一致性——这就是元节点管理的那种复杂而重要的数据。元节点只知道关于状态的基本信息,例如保留策略、用户和数据库。

最重要的要记住的是,您需要一个奇数个元节点。想象一下,您和朋友们在决定午餐地点时遇到了平局。如果玉米卷和汉堡票数相同,您可能还没决定就饿死了。但如果你们是奇数人,平局是不可能的。奇数个元节点确保它们总能达成共识(如果您对共识感兴趣,我们使用RAFT共识算法)来做出决策。

如果您需要从集群中获得高可用性,至少需要3个元节点。如果您只有一个元节点,您已经满足了达成共识所需的奇数个节点的条件,但如果这个节点不可用,就没有任何元节点。两个元节点是不理智的。您还记得最重要的规则吗?只有奇数。这让我们来到了三个元节点:为高可用性和奇数留出空间。

硬件

CPU:1-2核心 内存:512MB - 1GB 存储:1个HDD(任何大小)可以在虚拟机或容器中运行

关于负载均衡器的注意事项

从技术上讲,您可以有集群但没有负载均衡器,但除非您真的很喜欢手动将请求路由到各个节点,否则您可能需要使用负载均衡器。Influx对负载均衡器是无关的,所以选择您喜欢和信任的负载均衡器。我们会处理其他事情。

总结

InfluxDB企业版集群由元节点、数据节点(通常还有负载均衡器)组成。高可用性的最低配置是三个元节点和两个数据节点。