我可以在没有弹性 IP 地址的 EC2 实例上使用 cassandra 吗?我相信在这种情况下,任何失败的实例都会产生问题。
如果我为 cassandra 节点使用弹性 IP 地址,我必须对它们进行配置,以便它们使用公共 IP 地址进行内部通信(八卦等)。但这会增加网络延迟。
请建议我应该如何配置我的节点以使问题最小化。
我可以在没有弹性 IP 地址的 EC2 实例上使用 cassandra 吗?我相信在这种情况下,任何失败的实例都会产生问题。
如果我为 cassandra 节点使用弹性 IP 地址,我必须对它们进行配置,以便它们使用公共 IP 地址进行内部通信(八卦等)。但这会增加网络延迟。
请建议我应该如何配置我的节点以使问题最小化。
我的回答是,改用 Rackspace 云服务器,因为您可以获得更好的 i/o 性能以及公共和内部 IP。
但是社区中有几个人在使用 EC2;如果您坚持,我会在 cassandra-user 列表中询问。:)
许多人(包括我)在亚马逊的 EC2 上使用 cassandra 没有问题。由于内部 IP 地址很容易随意更改,您只需要使用您的内部 EC2 DNS 名称(而不是您的公共 IP 地址或公共 DNS 名称,因为这既是一个安全漏洞,亚马逊也会向您收取所有费用)卡桑德拉交通)。
这确实意味着如果您的 Cassandra 节点由于任何原因出现故障,那么您将丢失该节点上的数据(除非您使用的是速度较慢的持久存储),但这可以通过增加复制因子轻松解决(我们使用 RF =3)
我们使用的 VPN 解决方案与 EC2 和 Cassandra 配合得非常好,这使我们能够不使用弹性 IP。可以在此处找到有关它的一些信息。
现在,此选项并不适合所有人,但允许我们缓解 EC2 节点更改 IP 地址且不必使用弹性 IP 的问题。我们还发现,不使用 Amazon 接口(内部/外部)可以提高性能。不要问我为什么......我对他们的架构了解得不够多,无法解释它——除非它确实如此!
此外,它允许我们很好地利用@jbellis 提出的建议来使用 RackSpace。我们有一个混合的供应商设置......这样我们就可以利用 EC2、RackSpace 和我们自己的内部托管节点。与供应商/服务提供商无关对我来说非常重要......