过去几年,我一直在为澳大利亚的客户开发定制内联网。困难之处在于,它需要中国团队和澳大利亚团队一样频繁地访问,而且双方的数据必须相同
FIY:该软件是一个 PHP 应用程序 + Mysql 数据库(每天约有 20 人使用)。
尝试 1
我们首先从加拿大的专用 OVH 服务器开始,该服务器对澳大利亚团队来说运行良好,但中国团队访问时速度却非常慢。
尝试 2
我们尝试了托管在香港的服务器,没有太大变化。
尝试 3
然后,我们尝试迁移到使用 EC2 服务器 + RDS DB 的 AWS 中国,这对于中国团队来说运行良好,而对于澳大利亚团队来说速度则比较平均。
这是我们过去 3 年的设置,它并不完美,但或多或少对每个人都有效,而且我们之间有实时数据。
然而最近,澳大利亚团队在上午速度还不错之后,下午就出现了延迟和数据包丢失的情况。(AWS 响应:由于中国 ISP 的国际链路拥塞/CN 防火墙)。
他们建议我们尝试一下他们的直接连接服务。我们试用了几个星期,它确实更稳定,但与成本相比,它的好处并不值得(它并不便宜)
就是这样。我找不到适合所有人的解决方案,想知道你们对如何改善这种情况有什么想法/意见,或者对更好的架构/设置有什么建议。
附言:如果你们需要更多详细信息请告诉我。
编辑 1:6-03-2020
我在中国的另一个地区设置了一个 NGINX 代理服务器,该服务器在高峰时段拥堵较少,并将所有澳大利亚流量重定向到那里(然后重定向到我们的正常服务器)。这似乎大大提高了稳定性(2%-10% 的数据包丢失 VS 之前 40%-75%)。这不是一个完美的解决方案,而是一个临时解决方案。我会监控并保持更新。
答案1
这个问题没有完美的答案。有几种想法,其中一些可能有效,一些可能适合你的特定情况,一些可能实用也可能不实用。
想法 1 - 尝试在中国以外的亚洲其他地方进行共置怎么样?我想到新加坡。我怀疑防火墙是不是一台可以平等限制所有流量的庞大机器 - 如果你能找到一条不那么拥堵的路线,那么维护它的防火墙就可以更好地应对。(我可能也倾向于尝试泰国、马来西亚或菲律宾)
想法 2 - 重新审视您的设置。您能对数据进行某种多主复制吗?(可能是 Gluster 或 MooseFS,或者在文件级别,可能是 Owncloud 或类似的东西)。这更复杂,可能会让一个问题变成另一个问题 - 其工作原理实际上取决于服务器的类型。
您没有过多谈论您的应用程序/服务器。例如,如果它是一个数据库,您可能能够复制数据库并在本地站点进行读取,而将写入写入单一授权源。这不会解决问题,但可以缓解问题。
您是否尝试过其他协议。VPN 可能会改善(或加剧)您的问题,具体取决于防火墙如何选择对流量进行分类。