首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >多区域快速加载PHP / MySQL网站的解决方案

多区域快速加载PHP / MySQL网站的解决方案
EN

Server Fault用户
提问于 2014-09-13 02:30:42
回答 1查看 584关注 0票数 0

我在美国东部(弗吉尼亚)地区的亚马逊EC2网站上托管am EC2网站。我用Ubuntu。

该网站允许成员张贴他们的内容,并显示给其他成员和用户谁没有登录。

目标:我需要开始在全球范围内服务相同的网站,同样快到香港、纽约和洛杉矶。

我考虑了两种解决方案:

1.为三个地区设置三个单独的EC2实例:弗吉尼亚、俄勒冈州和新加坡。使用根据浏览器的IP地址将流量定向到实例。

专业人士:该网站将快速加载到该地区。

Contra:这些网站基本上是三个独立的网站。除非我搞错了?

  1. 在一个区域中设置一个实例,该实例与所有三个位置相同:(Ireliand),并将服务器提升到最高的可用性能。

赞成:这将是相同的网站,为所有地区。

康特拉:要足够快就得花很多钱。

我的挑战:

a)我不知道如何在多个Ubuntu实例之间实时同步服务器设置、数据库和内容。如果一个知识渊博的人能向我解释如何做到这一点,我将非常感激。

( b)我并不完全熟悉所有的Amazon资源。AWS有一个内置的方法,可以让我实现我的目标,即在全球范围内以相同的速度在所有三个选择的地点服务一个基于PHP / MySQL的会员网站吗?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2014-09-13 07:37:30

有很多种方法可以剥去猫的皮,但基本上你需要在多种地理位置复制你的网站。

假设您的应用程序阅读量很大(大多数网站都是如此),以下几个选项可能是合适的。我不太熟悉表达式引擎,所以我不确定在您的情况下实现这些架构有多困难。

选项1:跨区域读取副本

  • 在每个区域都有一个EC2应用程序服务器
  • 在每个区域都有一个读副本数据库
  • 只写到主区域数据库
  • 如果您必须处理文件上传,最好将它们存储在S3中,并让CloudFront缓存它们在不同的区域

选项2:缓存代理

如果您的内容几乎是完全静态的,您可以在每个区域都有一个缓存代理。如果您不需要高级缓存规则,CloudFront是一个非常简单的解决方案,否则您可以使用EC2实例(比如清漆)。

选项3:数据库缓存

在您的场景中,数据库是最难分发的元素,因此您可以将其放在一个区域中(并让其他区域连接到主区域中的数据库),然后在应用程序中使用数据缓存来最小化延迟。如果您的应用程序支持memcache,那么ElastiCache可能是一个选项。

票数 4
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/628230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档