Devrim Asked: 2009-09-15 22:14:10 +0800 CST2009-09-15 22:14:10 +0800 CST 2009-09-15 22:14:10 +0800 CST 如何以相同的速度在 5 大洲拥有相同的 Web 应用程序? 772 我可以将一个从 MySQL 放到另一个大陆,通过公共 IP 与 Master 通信吗?如果是,这是一个好习惯吗? 无论如何,我怎样才能以相同的速度在 5 大洲拥有相同的网络应用程序 (CMS)? mysql 3 个回答 Voted Best Answer pQd 2009-09-15T22:18:27+08:002009-09-15T22:18:27+08:00 从技术上讲 - mysql 可以在公共互联网上复制,而且它非常强大[即使连接上升和下降]。但最好使用一些vpn /ssh 隧道或至少mysql 的内置 ssl 加密。 我不知道你的网站有多动态,但你也可以缓存应用程序服务器的整个输出,在不同大陆的代理上生成页面。 ColtonCat 2009-09-15T23:39:34+08:002009-09-15T23:39:34+08:00 取决于您的应用程序。只需将内容交付网络用于静态内容,您就可以获得应用程序的巨大性能提升,而无需触及动态内容(无论如何这通常只是文本,因此并不代表大量数据被丢弃在 HTTP 连接中) )。 无论你把它放在哪里,数据库性能都是一样的,问题在于你的客户的地理分散,所以从雅虎那里得到像 YSlow 这样的东西,检查一下占据了 80% 页面的内容,然后看看是否是静态的,可以放在 CDN 上,根据我的经验,大多数时候您的大部分流量来自静态内容(.jpeg、静态页面等)。 另外,请确保您的 Web 服务器已打开内容压缩... pQd 是对的,如果您最终使用互联网上的复制,请使用 IPSEC 或类似的东西。 MarkR 2009-09-19T13:40:18+08:002009-09-19T13:40:18+08:00 复制适合阅读,但您仍然需要始终写入主服务器。 正确编写应用程序以处理对主服务器的写入和从从属服务器的读取可能会出现问题,因为它不能假设对数据库的写入是立即可见的——您需要对用户隐藏这一点(当用户有时间时)点击另一个页面,很可能,他们会)。 此外,您仍然需要在要写入数据库的页面上连接到 master 的开销。 这可能是一个问题,具体取决于您的应用程序是什么。或者它可能不是。确保您所做的任何事情都在非生产环境中进行了彻底的测试。确保使用支持复制的测试环境运行应用程序的自动化系统测试。 就拥有 VPN 而言,这是显而易见的,因为无论如何您可能需要它用于其他目的。如果您在 5 个大陆上拥有基础设施,那么拥有 VPN 不是主要问题(假设您已经拥有了一个)。
从技术上讲 - mysql 可以在公共互联网上复制,而且它非常强大[即使连接上升和下降]。但最好使用一些vpn /ssh 隧道或至少mysql 的内置 ssl 加密。
我不知道你的网站有多动态,但你也可以缓存应用程序服务器的整个输出,在不同大陆的代理上生成页面。
取决于您的应用程序。只需将内容交付网络用于静态内容,您就可以获得应用程序的巨大性能提升,而无需触及动态内容(无论如何这通常只是文本,因此并不代表大量数据被丢弃在 HTTP 连接中) )。
无论你把它放在哪里,数据库性能都是一样的,问题在于你的客户的地理分散,所以从雅虎那里得到像 YSlow 这样的东西,检查一下占据了 80% 页面的内容,然后看看是否是静态的,可以放在 CDN 上,根据我的经验,大多数时候您的大部分流量来自静态内容(.jpeg、静态页面等)。
另外,请确保您的 Web 服务器已打开内容压缩...
pQd 是对的,如果您最终使用互联网上的复制,请使用 IPSEC 或类似的东西。
复制适合阅读,但您仍然需要始终写入主服务器。
正确编写应用程序以处理对主服务器的写入和从从属服务器的读取可能会出现问题,因为它不能假设对数据库的写入是立即可见的——您需要对用户隐藏这一点(当用户有时间时)点击另一个页面,很可能,他们会)。
此外,您仍然需要在要写入数据库的页面上连接到 master 的开销。
这可能是一个问题,具体取决于您的应用程序是什么。或者它可能不是。确保您所做的任何事情都在非生产环境中进行了彻底的测试。确保使用支持复制的测试环境运行应用程序的自动化系统测试。
就拥有 VPN 而言,这是显而易见的,因为无论如何您可能需要它用于其他目的。如果您在 5 个大陆上拥有基础设施,那么拥有 VPN 不是主要问题(假设您已经拥有了一个)。