如何将 Web 应用程序迁移到集群?

如何将 Web 应用程序迁移到集群?

我有一个在 Linux Nginx + uwsgi 上运行的 Python Web 应用程序。我目前在一台机器上运行它。我想将此设置迁移到集群。

我是集群新手。进行此迁移的步骤是什么。我们是否需要更改 Web 应用程序才能使相同的设置在集群上运行?

如果有人能给我提供一些与此相关的教程,我将不胜感激。

谢谢

答案1

这实际上取决于你对集群的定义以及你对集群的目的。对于 Web 应用程序,最常见的原因是分散负载或高可用性,因此我的回答基于假设你想要其中之一。

分散负荷

要将负载分散到多台机器上,最简单的方法是将数据存储(数据库、内存缓存等)移到另一台机器上。如果这还不够,您还需要 2 台服务器:一台作为应用服务器的副本,另一台作为负载均衡器,在两台应用服务器之间平衡负载。

冗余

如果您的目标是高可用性,那么您需要一个集群数据存储(例如 mysql 集群)和类似 pacemaker/corosync 的东西,以确保您的服务的 IP 在两个盒子中的一个上始终可用。

结合两者

“分散负载”设置还提供基本的高可用性,即使您失去一个应用服务器,服务仍将保持运行。为了获得更好的可用性,您可以集群负载均衡器,也许还可以集群数据存储。

概括

这只是你能做的一小部分事情。“集群”本身并不是目标,而是达到目的的一种手段。你真正想要实现的是什么?

相关内容