基于地理位置的负载平衡替换html文件中的url



我有一个提供静态html页面的HTTP web服务器。

在页面中,它加载图像&css来自固定域,如:

<img src="http://assets.mysite.com/1.jpg" />

实际上,有几个不同的域为相同的文件提供服务。例如

  • assets-us.mysite.com
  • assets-eu.mysite.com
  • assets-sia.mysite.com

我希望负载平衡根据访问者的地理位置将域"assets.mysite.com"替换为其他域。

例如,当我从欧洲访问同一个url时,我得到的html是:

<img src="http://assets-eu.mysite.com/1.jpg" />

当我从日本访问同一个url时,我得到的html是

<img src="http://assets-asia.mysite.com/1.jpg" />

我更喜欢NGINX(或G-WAN)。是否可以只通过一些配置或脚本设置来实现负载平衡?这次更换对性能有何影响?

如果你的目标是尽可能好地执行,那么你应该在DNS请求时进行地理ip负载平衡-用户在查询Web服务器之前会被重定向。CDN是这样工作的。

但是,如果你不能做到这一点,并且想从Web服务器管理负载平衡,那么最好的扩展方法是使用AS(ISP使用的网络)查找表来查找用户所在的区域。

与搜索IP地址相反,这样做将极大地减少数据库大小,从而加快操作速度。IP数据库提供了更多细节,但规模要大得多。

对于G-WAN,如果您想为不同的MIME类型实现不同的逻辑,您可以编写connection handlercontent-type handler(后者也可能简化开发,因为您不必解析请求来查找资源类型)。

如果数据库存储在本地(最好是RAM中),G-WAN C/C++/C#脚本如果实现得当,不会显著增加延迟。

相关内容

  • 没有找到相关文章

最新更新