使用自动缩放将节点添加到现有 aerospike 集群

2024-01-07

我可以在 aws autoscale 下添加 aerospike 集群吗?喜欢 。我的初始自动缩放组大小将为 3,如果有更多流量进入并且 CPU 利用率大于 80%,那么它将向集群中添加另一个实例。你认为这可能吗?它有什么缺点或者会在集群中产生任何问题吗?


有一个 Amazon CloudFormation 脚本aerospike/aws-cloudformation https://github.com/aerospike/aws-cloudformation这给出了如何启动这样一个集群的示例。

然而,自动缩放的目的是增长无共享工作节点,例如 Web 应用程序。这些节点通常没有任何共享数据,您只需启动一个新节点即可开始工作。

向 Aerospike 这样的分布式数据库添加节点的目的是拥有更多的数据容量,并在更多节点之间均匀分布数据,从而增强处理操作(读取、写入等)的能力。自动缩放 Aerospike 可能不会按您的预期工作。这是因为当一个节点添加到集群时,一个新的(更大的)cluster http://www.aerospike.com/docs/architecture/clustering.html形成,数据为自动平衡。平衡的一部分是迁移分区 http://www.aerospike.com/docs/architecture/data-distribution.html节点之间的数据,当每个节点上的分区数量再次偶数时结束(因此数据均匀地分布在集群的所有节点上)。迁移很繁重,占用网络带宽。

This would如果您可以在流量高峰之前安排迁移,那么迁移就可以提前完成,并且您的集群将为下一个高峰做好准备。你不会想这样做as交通高峰正在发生,因为这只会让事情变得更糟。您还需要确保当集群收缩时,有足够的空间用于存储数据,有足够的 DRAM 用于主索引,因为两者的每个节点使用量都会增长。

Aerospike 拥有额外容量的另一点是允许滚动升级 http://www.aerospike.com/docs/operations/upgrade/aerospike/,一次一个节点进行升级,而不需要关闭整个集群。 Aerospike 通常用于实时应用程序 http://www.aerospike.com/use-cases/无需停机。至少您的集群需要能够处理节点故障并有足够的资源capacity http://www.aerospike.com/docs/deploy_guides/aws/plan/弥补不足。

就像注释一样,你有细粒度配置 http://www.aerospike.com/docs/reference/configuration/#migrate-threads控制迁移发生的速率,但如果您降低过程的激进性,迁移的运行时间会更长。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用自动缩放将节点添加到现有 aerospike 集群 的相关文章

随机推荐