WordPress的网站目前在美国托pipe,这是我们目标受众的40%。 其余的游客来自中东,澳大利亚,俄罗斯,中国,新加坡,英国,瑞士,哈萨克斯坦……遍布地图。
随着所有的caching(不是CDN),它在亚洲/大洋洲仍然不足,而且在欧洲也有速度问题。
我可以简单地设置多个服务器,并创build多个Alogging,指向不同地区的不同服务器,并假设来自澳大利亚的访问者将从澳大利亚服务器提供服务?
有小费吗?
正如你所看到的,地理分布WordPress的问题都围绕着MySQL数据库。
基本上有两种方法来devise这个:
在这个架构中,您可以在多个地理位置使用WordPress运行LAMP前端,每个地理位置都包含主MySQL数据库的只读副本(从属)。 您将需要使用类似MySQL代理的东西来将写操作指回主服务器,因为WordPress本身不支持使用不同的数据库连接进行读写操作。
这个设置的大问题是,如果你的主人失败,你不能做出改变(如没有新的职位或评论)。 因此,主人应该可能被群集或以其他方式保护(例如使用Amazon RDS多可用区)。 由于LAMP前端和远程MySQL主服务器之间的networking延迟,数据库写入也稍微延迟。
在这个体系结构中,你可以在几个不同的地理位置运行你的LAMP前端,其中每个地方都有一个多主复制的数据库,使用MariaDB Galera或者相当的MySQL解决scheme(如果你能find的话)。 如果你走这条路,你至less需要三个主人。
由于没有一个单一的故障点,如果一个主控人员出现故障(只要他们不全部同时停机,这种情况需要人工干预才能恢复),这并不重要。
问题在于写入需要更长的时间,因为它们必须被复制到所有的多个主设备上。 所以人们可能会注意到写任何写入数据库的任何东西都会延迟几秒,比如评论或者写一个新post。 在实践中,这种延迟并不那么重要,因为用户在这些情况下提交信息时,已经预料到了延迟。
如果你有三个或更多的地理位置,你就要去部署,我会继续努力去做多主。 如果你只有两个位置,你现在可以通过一个只读副本和代理来获得。
我假设,因为这个问题已被标记为amazon web services,您的WordPress的网站上运行的亚马逊AWS EC2实例。 如果是这样,你可以使用亚马逊的Route53产品来提供地理DNSlogging。 你可以在这里find一个深入的教程。 还有其他DNS提供商支持地理DNSlogging,如Dyn,但请注意,这将是一个高级function,你需要支付。
我可以简单地设置多个服务器,并创build多个Alogging,指向不同地区的不同服务器,并假设来自澳大利亚的访问者将从澳大利亚服务器提供服务?
不,不可能。 在这种情况下,就像循环赛一样。 在你的情况下CDN将是最好的select,恕我直言。