2

公司最近搞了好多台服务器,一个服务器对应一个域名。不同服务器在不同时间不同区域,用户访问速度是不一样的。所以目前想自动给用户分配一台他进入网站时访问最快的服务器。大家有什么好的解决方案吗?

clipboard.png

wrongcode 108
2019-06-14 提问
4 个回答
1

已采纳

先拿到最快的服务器:

  1. 如果同时并发请求的话,Promise.race 拿到第一个返回的响应,然后切换到这个服务器就行。
  2. 如果排队单独请求,分别记录请求的时间差,取响应时间最小的那台服务器。

切换服务器:

  1. 如果是前后端分离项目,前端可以走CDN,然后只切换api的访问,切换的时候修改api请求的域名就可以了。
  2. 如果是后端渲染项目,可能就需要分区域部署,然后直接跳转到相应区域域名。
1

我想你是要个CDN吧

1

我感觉可以使用Promise.race来实现,这个可以resolve第一个完成的请求

0

不太懂 听起来像是 nginx负载均衡 相关的东西

撰写答案

推广链接