前端如何根据用户访问服务器的速度,来给用户分配对他而言速度快的服务器

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

clipboard.png

阅读 794
评论
    4 个回答

    先拿到最快的服务器:

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

    切换服务器:

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

      我想你是要个CDN吧

        • 3.3k

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

          • 1.2k

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

            撰写回答

            登录后参与交流、获取后续更新提醒

            相似问题
            推荐文章