我正在从英国数据中心运行一个Web应用程序。 速度如预期般好。 Web应用程序严重依赖于数据库。 我想打开webapp到澳大利亚和新西兰,但从服务器保持良好的响应时间。
本质上,应用程序中的每个用户都可以访问存储在数据库中两个表中的数据。 每个用户使用所述数据来生成他们自己的这个数据的组合并且存储在db中的其他表中。 应用程序很less有资产更新。
注册的电子邮件在所有国家都需要独一无二。
从我在这方面的知识有限,我认为有两种select:A – 两个主机之间的完整数据库复制,一个在英国,另一个在AUS B – 定期复制源主机英国到目标的数据aus和nz。
这就离开了域1 – 理想情况下域是最好的,但是这将需要一个种类的路由服务器来根据位置将stream量引导到不同的服务器,但是这会增加响应时间2 – 每个国家有替代域直接路由到国家本地主机
我很欣赏我不是在这里重新发明轮子,但是对于这样的场景,std协议是什么? 从我的理解cdn服务是更多的图像和video交付,我想这里的基本问题是什么是数据库的等价物?
谢谢你的帮助,约翰
你有几个不同的问题,这可能会更好地作为单独的问题。 首先是如何构build您的多站点数据库结构。 其次是如何将用户路由到您的服务器。
对于数据库问题,可能只需要多主复制就可以了。 由于有太多的variables需要考虑,所以没有简单的答案。 数据量,数据库服务器软件的function,两个站点之间连接的可靠性,实际上需要在站点之间共享多less数据,如果数据需要总是完全相同,或者最终相同。 。
对于第二个问题,如果您的网站几乎是完全dynamic的,则CDN可能不是一个好的select。 CDN不适用于“图像和video传送”,主要用于静态内容传送(图像和video是其中的一个子集,任何不能dynamic提供的网页,javascript文件,css文件等)。许多CDN提供可以通过各种技巧加速dynamic内容的服务,但这不是你所追求的。
我意识到CDN和大型组织可以处理这种情况的两种主要方式。 首先是通过DNS,使用某种机制来确定返回给客户端的IP地址。 这可能是基于客户端的IP地址,例如查找地理位置数据库或其他机制,以确定什么是最好的引导客户端。
第二种方法是使用任播 。 这里的想法是,你宣布从多个地点完全相同的IP地址,并依靠标准的互联网路由,让你到一个closures的网站(closures相对于networking,而不是地理)。
如果您想要我的意见,请select一个与您想要提供服务的地点有良好连接的地点。 例如,如果你只在英国和新西兰服务,在美国的一个地点可能就足够了。 我不知道你的应用程序做了什么,但是如果几毫秒的差异将会对你的用户产生有意义的影响,你可能需要重新考虑这个devise。 从我在加利福尼亚州圣何塞工作的办公桌,到新西兰和澳大利亚(<250ms)的时间不到四分之一秒。