负载平衡且指向同一数据库的双 Web 服务器

负载平衡且指向同一数据库的双 Web 服务器

我现在正在家里用 Raspberry Pi 运行一个 Web 服务器。我得说,运行得相当成功。唯一的问题是,有时 SD 卡会损坏,我的网站会在我重新镜像时停机一小时左右。我每晚都会备份,所以这没什么大不了的,但我根本不想让我的网站停机。

所以我的解决方案是,我已经有第二个 pi,为什么不制作双服务器呢。

我认为我可以自己解决共享数据库的问题。我遇到的问题是我不知道如何平衡负载,甚至不知道如何将流量引导到多个服务器。我是否需要在路由器和服务器之间放置一台机器来引导流量?

这是我当前的设置

在此处输入图片描述

这就是我想要的

在此处输入图片描述

我对于如何构建这个架构的想法看起来正确吗?我遗漏了什么?

答案1

负载均衡器有各种形状、大小和成本。如果你想免费使用它,Linux 高可用性效果很好,尽管学习起来有点困难。你甚至可以用 iptables 来实现,或者作为循环 DNS入口,尽管最后这两个没有监控或处理故障机器的设施。

还有许多设备和软件提供此功能。

一般的想法是,有一台机器(或设备)回复请求,然后将请求转发到它后面的两个或多个服务器(有时在 NAT 中,有时不在),尽管负载平衡器始终会伪装公共 IP。循环 DNS 不在此范围内,因为您为域名设置了均衡的 DNS 记录,DNS 服务器将给出 IP 1,然后是 IP 2、1、2、1、2 等。在这种情况下,没有机器伪装公共 IP。当然,也没有用于检测和缓解不可用机器的工具。

更先进的软件和系统会跟踪连接数、后端服务器的运行状况,并可以确保 https(或会话)连接始终转到同一台服务器,以避免出现连接问题。这些机器将确保一台服务器不会过载,如果该服务器不可用,它会将其从转发请求的地址池中移除。

希望这能给你提供一些开始。

相关内容