Cassandra 仅使用 AWS Spot 实例



有没有人对将仅依赖 AWS 竞价型实例和弹性 IP 地址的 Cassandra 实例(包括种子)组合在一起有任何想法。请记住,这是一个个人POC项目,我正在尝试尽可能经济高效地完成它。

如果集群是 2 个种子节点和 4 个非种子节点,我可以为种子节点创建类似于以下内容的内容吗?

  • 使用 2 个单独的弹性伸缩组 (ASG),最大值、最小值为 1,并可能在启动时通过用户数据自动分配弹性 IP。
  • 现货价格高于非
  • 种子节点的种子节点
  • 种子节点始终从公开分配的 IP 地址开始,以便它们可以路由以执行 API 调用并启动与自身的关联 EIP。
  • 种子节点
  • 与非种子节点完全相同,只是它关联了 EIP 脚本

对于非种子节点

    最小计数为 4,
  • 所需级别为 4 的 Auto Scaling 组
  • 在 cassandra.yaml 文件中将其种子 IP 地址设置为指向弹性 IP 地址。

和用于启动种子节点

  • 要创建的前几个种子节点可能会在 ASG 外部完成,以启动称为起始种子节点的过程。
  • 一旦这些初始种子节点
  • 设置完毕并讨论完毕,我计划生成 2 个种子节点 ASG,这些节点将重新分配 EIP 并接管种子节点的角色。
  • 在 ASG 种子节点接管后销毁起始种子节点。

我熟悉 AWS 和实现这一目标的脚本,但我对 Cassandra 非常陌生,因此:

  1. 我的提议可行吗?
  2. 我是否错过了Cassandra的一些明显的技术限制,这些限制会在将来引起问题?
  3. 这是否适用于DataStax OpsCenter?
  4. 当 ASG 纵向扩展(或缩减)时,是否会自动清理旧节点?
  5. 当将来新的种子节点上线时,将 EIP 重新分配给自己是否会干扰其与集群同步的能力?

我考虑过的事情

  • 如果整个队列出现故障,我计划运行Netflix Priam以将备份保持在30分钟。
  • 如果它在此 POC 中工作,它将被推广到多可用区和区域。
  • 在生产中,我会保持配置相同,但使用按需分配运行它们

感谢您为实现这一目标提供的任何参考资料的帮助。

干杯

您可以使用 Septaz (https://www.septaz.com) 在竞价型实例上可靠地运行 Cassandra 或任何其他分布式系统。

最新更新