Cassandra 仅使用 AWS Spot 实例
Cassandra only using AWS Spot Instances
有没有人想过将一组仅依赖于 AWS Spot 实例和弹性 IP 地址的 Cassandra 实例(包括种子)组合在一起。请记住,这是一个个人 POC 项目,我正在尝试尽可能经济高效地完成它。
如果集群是 2 个种子节点和 4 个非种子节点,我可以为种子节点创建类似于以下内容的内容:
- 使用 2 个独立的 Auto Scaling 组 (ASG),最大值、最小值 1,并可能在启动时通过用户数据自动分配弹性 IP。
- 现货价格高于非种子节点的种子节点
- 种子节点始终以公开分配的 IP 地址开始,因此它们可以路由以执行 API 调用并向自身发起关联 EIP。
- 种子节点与非种子节点完全一样,只是它具有与之关联的 EIP 脚本
对于非种子节点
- Auto Scaling 组,最小计数为 4,所需级别为 4
- 在 cassandra.yaml 文件中设置它们的种子 IP 地址以指向弹性 IP 地址。
并且对于初始种子节点
- 要创建的第一对种子节点可能会在 ASG 之外完成,以启动称为启动种子节点的过程。
- 一旦这些初始种子节点设置好并开始对话,我计划生成 2 个种子节点 ASG,它们将重新分配 EIP 并接管种子节点的角色。
- 一旦 ASG 种子节点接管,就销毁起始种子节点。
我熟悉 AWS 和实现它的脚本,但我对 Cassandra 还很陌生,所以:
- 我的提议可行吗?
- 我是否遗漏了 Cassandra 的一些明显的技术限制,这些限制会在未来引起问题?
- 这适用于 DataStax OpsCenter 吗?
- ASG 扩容(或缩容)时会自动清理旧节点吗?
- 将来有新的种子节点上线时,重新分配EIP给自己是否会影响其与集群同步的能力?
我考虑过的事情
- 如果整个机群都出现故障,我计划 运行 Netflix Priam 将备份保持在 30 分钟。
- 如果它在这个 poc 中有效,它将被推广到多个 AZ 和区域。
- 在生产中,我会保持相同的配置,但 运行 它们具有按需分配
感谢您提供的任何参考资料 material 帮助实现这一目标。
干杯
您可以可靠地使用 Septaz (https://www.septaz.com) 到 运行 Cassandra 或任何其他分布式系统现场实例。
有没有人想过将一组仅依赖于 AWS Spot 实例和弹性 IP 地址的 Cassandra 实例(包括种子)组合在一起。请记住,这是一个个人 POC 项目,我正在尝试尽可能经济高效地完成它。
如果集群是 2 个种子节点和 4 个非种子节点,我可以为种子节点创建类似于以下内容的内容:
- 使用 2 个独立的 Auto Scaling 组 (ASG),最大值、最小值 1,并可能在启动时通过用户数据自动分配弹性 IP。
- 现货价格高于非种子节点的种子节点
- 种子节点始终以公开分配的 IP 地址开始,因此它们可以路由以执行 API 调用并向自身发起关联 EIP。
- 种子节点与非种子节点完全一样,只是它具有与之关联的 EIP 脚本
对于非种子节点
- Auto Scaling 组,最小计数为 4,所需级别为 4
- 在 cassandra.yaml 文件中设置它们的种子 IP 地址以指向弹性 IP 地址。
并且对于初始种子节点
- 要创建的第一对种子节点可能会在 ASG 之外完成,以启动称为启动种子节点的过程。
- 一旦这些初始种子节点设置好并开始对话,我计划生成 2 个种子节点 ASG,它们将重新分配 EIP 并接管种子节点的角色。
- 一旦 ASG 种子节点接管,就销毁起始种子节点。
我熟悉 AWS 和实现它的脚本,但我对 Cassandra 还很陌生,所以:
- 我的提议可行吗?
- 我是否遗漏了 Cassandra 的一些明显的技术限制,这些限制会在未来引起问题?
- 这适用于 DataStax OpsCenter 吗?
- ASG 扩容(或缩容)时会自动清理旧节点吗?
- 将来有新的种子节点上线时,重新分配EIP给自己是否会影响其与集群同步的能力?
我考虑过的事情
- 如果整个机群都出现故障,我计划 运行 Netflix Priam 将备份保持在 30 分钟。
- 如果它在这个 poc 中有效,它将被推广到多个 AZ 和区域。
- 在生产中,我会保持相同的配置,但 运行 它们具有按需分配
感谢您提供的任何参考资料 material 帮助实现这一目标。
干杯
您可以可靠地使用 Septaz (https://www.septaz.com) 到 运行 Cassandra 或任何其他分布式系统现场实例。