如何配置没有负载均衡器的备份服务器?

如何配置没有负载均衡器的备份服务器?

我有一台运行 PHP、Apache 和 MySQL 站点的 CENTOS 服务器。我想创建第二台服务器来执行以下操作:

  1. 保持服务器 1 和服务器 2 之间的数据库同步(最好在交易发生时实时同步)。
  2. 如果服务器 1 出现任何问题,是否可以在域级别(或其他方式)进行设置以切换到第二台服务器?
  3. 避免使用第三个负载平衡服务器?

我之所以不需要第三个负载均衡器,是因为我不想出现负载均衡器本身出现故障的情况。我只想依赖实际工作的解决方案服务器。

这可能吗?最简单的方法是什么?

我最担心的是,由于传播的原因,这无法在 DNS 级别完成,所以我确实认为可能需要某种第三方中介来确定流量去向何处?

答案1

对于 MySQL,使用复制使备份服务器与主服务器保持同步。请参阅文档,请记住复制是异步的,即使在中等负载下也会滞后。

PHP 和 Apache 是无状态服务,除了配置之外,不需要同步。

如果你不需要负载均衡器,你可以使用心跳管理两台服务器之间的虚拟 IP。如果主服务器发生故障,辅助服务器将为自己分配 IP 并继续提供流量。请注意,这只会监控两个心跳服务之间的心跳,而不是 mysql/apache/等的运行状态。

什么将承载决定使用哪个服务器的部分?

Web 服务器客户端将连接到虚拟 IP 或解析为该 IP 的主机名,因此流量只会到达具有该 VIP 的服务器,而其他服务器将仅处于待机状态。

在两台服务器上配置 PHP 以连接到 localhost 上的 MySQL,这样如果第一台服务器死机,第二台服务器将假定该 IP 并继续运行。但请记住,常规的单向 MySQL 复制意味着,只要您开始写入从服务器,原始主服务器将永远过时并需要重建。您可以使用主主复制或 Percona XtraDB Cluster,但这些设置起来更复杂。

相关内容