【问题标题】:add node to existing aerospike cluster using autoscale使用自动缩放将节点添加到现有的 aerospike 集群
【发布时间】:2016-04-17 23:46:32
【问题描述】:

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

【问题讨论】:

    标签: amazon-web-services autoscaling aerospike


    【解决方案1】:

    aerospike/aws-cloudformation 有一个 Amazon CloudFormation 脚本,它提供了如何启动此类集群的示例。

    但是,自动缩放的目的是增加无共享的工作节点,例如 web 应用程序。这些节点通常没有任何共享数据,您只需启动一个新节点,它就可以工作了。

    将节点添加到像 Aerospike 这样的分布式数据库的目的是拥有更多的数据容量,并在更多节点上平均分配数据,从而提高处理操作(读取、写入等)的能力。自动缩放 Aerospike 可能不会像您期望的那样工作。这是因为当一个节点添加到集群中时,会形成一个新的(更大的)cluster,并且数据会自动平衡。平衡的一部分是在节点之间迁移partitions 的数据,并且当每个节点上的分区数量再次偶数时结束(因此数据均匀分布在集群的所有节点上)。迁移繁重,占用网络带宽。

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

    在 Aerospike 中拥有额外容量的另一点是允许 rolling upgrades,其中一个节点一次升级,而无需关闭整个集群。 Aerospike 通常用于不需要停机的realtime applications。您的集群至少需要能够处理出现故障的节点并有足够的capacity 来弥补不足。

    请注意,您可以通过configuration 精细控制迁移发生的速度,但如果您降低迁移速度,它们会运行更长时间。

    【讨论】:

    猜你喜欢
    • 2020-09-13
    • 1970-01-01
    • 2015-11-26
    • 2019-09-10
    • 2021-09-15
    • 2012-01-03
    • 1970-01-01
    • 1970-01-01
    • 2014-05-14
    相关资源
    最近更新 更多