所以我知道对于提供静态元素(css、js、图像、视频等),您应该使用 CDN,因为它们分布在世界各地。
但是我如何通过 Apache 服务器进行传播?除了动态页面之外,有没有与 CDN 相当的东西?还是传统的 LAMP 方式。
如果是这样,我想我最好的选择是找到一个在不同国家/地区托管的国际托管服务提供商,这样内容将从最靠近客户端机器的国家/地区提供。有什么这样的托管服务提供商的建议吗?
或者最佳做法是联系不同国家/地区彼此不相关的不同托管服务提供商。正确的做法是什么?
答案1
这取决于你想要实现什么。拥有地理上分散的服务器来生成动态内容的挑战在于数据库检索/同步。
如果您有一个中央数据库服务器,比如说,托管在美国,然后将网络服务器放到澳大利亚、英国、俄罗斯和韩国,那么这将完全违背分散网络的目的,因为它们都依赖于回程到您的数据库服务器。
您必须将数据库和 Web 服务器放在一起(因此,5 个位置 = 10 台服务器)。但当然,您面临的问题是,由于 5 个不同的数据库服务器位于 5 个不同的国家/地区,您需要从所有位置对数据库进行读/写访问,并以尽可能少的延迟同步它们。这是可以做到的,但您必须确保设计数据库完美并且通常需要从第一天起就融入到系统设计中。
无论你选择哪家主机,你都会面临这些困难。有些主机可能在不同国家/地区的数据中心之间有优先链接,有些则没有,你需要在进行研究时询问他们。