悟空在此
2016-11-10 02:20
采纳率: 0%
浏览 936

【系统架构】安装ngixn的国外服务器proxy_pass到国内服务器的效率问题

题背景:一个很普通的文件web上传功能。 身在美国的客户,通过浏览器上传文件到中国的境内服务器里。

假设有两台服务器A和B。 其中A服务器安装了Nginx,里面的proxy_pass到B服务器。B服务器安装了tomcat,用来接收A服务器proxy来的数据。
配置如下
location / {
proxy_pass http://B服务器的ip地址;
}

现在有两种方案:
方案一:将A和B的服务器都放在中国境内的同一个机房里,A和B之间的proxy_pass是通过内网通信(内网IP地址)。
方案二:将A服务器放在美国的一个机房里,B服务器放在中国境内的一个机房里,A和B之间的proxy_pass是通过外网通信(公网IP地址)。

一般来说,大家都是使用方案一。
但是由于业务问题,我们必须要选用方案二。

客户上传文件花费的总时间=客户浏览器到A服务器的时间+A服务器到B服务器的时间。

方案一,客户浏览器到A服务器的时间慢,但是A到B服务器时间快。
方案二,客户浏览器到A服务器的时间快,但是A到B服务器的时间就慢了。

所以请问,各位大侠
方案一和方案二,到底哪个总时间快呢?为何?

就16个币了,有好答案后,保证再追加100个币。

非常谢谢。

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • oyljerry 2016-11-12 01:37

    最主要是方案二中,两个服务器之间通信存在不稳定因素,受网络影响大。容易网络超时等。

    评论
    解决 无用
    打赏 举报
  • 悟空在此 2016-11-13 07:18

    @oyljerry 最主要是方案二中,两个服务器之间通信存在不稳定因素,受网络影响大。容易网络超时等。

    那方案一中,从海外上传文件到中国的A服务器,应该也存在通信不稳定,受网络影响大的因素吧?
    从整体来说,都收影响,那么这两者有什么效率区别?

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题