http/mysql 集群的虚拟 IP 或负载平衡

http/mysql 集群的虚拟 IP 或负载平衡

首先,我必须说,作为系统管理员,我还是个新手。我正在尝试做别人的工作,在集群/负载平衡和相关方面我几乎没有经验。

情况就是这样。

我有 4 台物理服务器。所需配置如下:

2 个复制的 Web 服务器,它们是访问数据库数据的公共接口 2 个复制的 MySQL

我想要的是:

1 个虚拟 IP 地址由网络服务器共享,为 2 台机器提供负载平衡。此 IP 将是 DNS 指向的公共 IP。

1 个由 mysql 共享的虚拟 IP 地址,与上文相同。这将是应用程序连接所使用的接口。

这些服务器位于远程服务器场,但它们包含在 VLAN 中。

有可能达到这种配置吗?如果那样的话,该怎么做?如果不行,有什么好的替代方案吗?

谢谢任何提示。

达里奥

答案1

有几个问题,你想让它负载平衡吗?因为如果你有 4 台机器,2 个 apache 和 2 个 mysql,你会设置一个故障转移设置,这样如果一台服务器宕机,它将使用另一台服务器。为了实现这一点,你可以使用 HeartBeathttp://www.linuxjournal.com/article/5862

如果您的负载很高,您可能有 3 个带有 apache/mysql 的节点,所有节点均已复制,并将其中 1 个框转换为专用的负载均衡器。

最可靠的设置是 2 个负载均衡器、3 个 Apache 服务器、1 个强大的 MySQL 服务器和 1 个通过心跳进行备份

更多阅读

我真的很喜欢关于如何锻造的指南

http://www.howtoforge.com/high_availability_loadbalanced_apache_cluster

答案2

是的,这绝对是可能的。

您将要遇到的主要问题是决定如何设置 mysql 服务器。如果它们处于主/主复制模式,即任一服务器都可以进行写入,那么该解决方案就很好。但主/主复制并不常见,它们更有可能设置在主/从情况下,即写入只能转到主数据库。如果您确定此负载平衡器仅用于读取,则可以在这些服务器前面设置一个负载平衡器。

您仍然可以在两者之前设置一个负载平衡器来进行写入,但它必须足够智能,只要主数据库健康,就始终转到主数据库,并且只有在主数据库发生故障时才会转到从属数据库。此时您需要手动干预来修复问题,因为旧的主数据库不会获得任何新的写入。

建立这种类型的系统并非易事,尤其是处理主人去世的情况。祝你好运。

答案3

考虑到您的物理限制,您确实可以设置 2 个负载平衡器主机和 2 个 Apache/MySQL 服务器。MySQL 需要采用主/主配置,但应该是可以的。这不会在应用程序方面给您带来出色的性能,但确实提供了高可用性(假设负载不太高)

相关内容