我在同一个 ec2 实例上运行 nginx 和 postgre sql。
它为在该数据库上读取和写入数据的 rails 应用程序提供服务。
我希望在 ALB 服务后面拥有 2 个实例来分配负载并确保可用性。
我应该怎么做才能确保两个实例之间的数据一致?
答案1
将数据库主服务器复制到 EC2 中的另一台服务器上很困难,但正如已经指出的那样,有一些选择。更好的设置方法是将数据库服务器放在另一个 EC2 实例上。这样,您可以非常轻松地扩展 Rails 应用程序,并且所有 Rails 应用程序都可以与数据库服务器通信。
此设置也存在一些问题,因为数据库服务器仅在一个 EC2 实例上。您可以自行设置副本并管理故障转移,也可以让 AWS 为您管理并使用其 RDS 服务。使用 RDS,您可以要求 Amazon 为您维护数据库和副本,并在主服务器发生故障时自动执行故障转移。AWS 将为您提供一个端点,供所有 Rails 应用程序连接。