Ruby on rails 如何构建一个多区域的web应用程序体系结构?

Ruby on rails 如何构建一个多区域的web应用程序体系结构?,ruby-on-rails,amazon-web-services,web,database-design,cloud,Ruby On Rails,Amazon Web Services,Web,Database Design,Cloud,我的服务器在瑞典(DB、RubyonRailsWeb应用程序、nginx)。有时来自南非和东南亚的人会来我的网站 对于这些人来说,这个网站非常愚蠢。平距东南亚约200米。我想解决这个问题。我对这种情况没有经验 CDN不会有帮助,因为它只用于静态信息 我想我需要为每个区域制作三台服务器(1台服务器1台nginx 1台webapp 1个基本区域),并配置数据库之间的复制。但有人告诉我这很糟糕。那怎么办?如果您使用的是AWS,那么使用RDS的Amazon Cloud?可以在运行您的服务时使用 在AWS

我的服务器在瑞典(DB、RubyonRailsWeb应用程序、nginx)。有时来自南非和东南亚的人会来我的网站

对于这些人来说,这个网站非常愚蠢。平距东南亚约200米。我想解决这个问题。我对这种情况没有经验

CDN不会有帮助,因为它只用于静态信息

我想我需要为每个区域制作三台服务器(1台服务器1台nginx 1台webapp 1个基本区域),并配置数据库之间的复制。但有人告诉我这很糟糕。那怎么办?如果您使用的是AWS,那么使用RDS的Amazon Cloud?

可以在运行您的服务时使用

在AWS或谷歌云上也是如此

然而,有几件事需要考虑,例如:

  • 你的数据库在哪里
  • 它是分发的吗
  • 你的服务需要吗

每个场景在AWS上都很容易解决,只需点击左右;这意味着将您的服务添加到多个可用性区域与使您的数据库跨多个区域可用一样简单。

如果您的服务器提供RESTful接口,并且出于任何原因希望使用AWS,我建议您使用API Gateway,因为它已经具有边缘优化功能:


“边缘优化的API端点:API网关API的默认主机名,该API部署到指定区域,同时使用CloudFront分发来促进客户端访问,通常来自AWS区域。API请求路由到最近的CloudFront存在点(POP)这通常会缩短地理位置不同的客户端的连接时间。如果在创建API时未明确指定其端点类型,则API会进行边缘优化。“

它是分布式的吗?您的服务需要DB吗?
我不知道这是什么。我有VPS,安装了常用的PostgreSQL 9.4。我不使用AWS,我在寻找问题的解决方案。如果你不能没有AWS(或者它很贵),那么我将被迫使用AWS。你可以没有AWS,但你需要更多的基础设施。您可以在不同的位置使用不同的主机,但这会减少您的预算,因此我建议至少从一开始就使用AWS或Google Cloud。对于数据库饥渴,我的意思是,如果DB访问是您服务中的瓶颈,那么您还需要一个分布式数据库。
您可以在不同的位置使用不同的主机,但是那会扼杀你的预算
你有没有文章的例子让我可以读到更多关于这方面的内容
我推荐AWS或Google Cloud
好的,谢谢这两项服务的开发者页面都很好,他们有很好的指南来调整你的需求。谢谢,但我不想使用亚马逊服务。