通过请求拦截器简单实现负载均衡

1.建url管理js【urlManager.js】

const urls = [
  "http://ai.huggz.cn:19081"
  // "http://ipv4.share1mon:18091",
  // "http://localhost:8091"
  //   "https://api.aicnn.cn1"  //先不上https
    // 更多 URL...
];

let currentUrlIndex = 0;

export function getNextUrl(uri) {
    if (uri && uri.endsWith("getQrCode")){
        return  "http://ai.hgz.cn:9293" //对某个特定接口指定特定url
    }
    const url = urls[currentUrlIndex];
    currentUrlIndex = (currentUrlIndex + 1) % urls.length;
    return url;
}

2.请求拦截器中使用

axiosInstance.interceptors.request.use(
    (config) => {
        config.baseURL = getNextUrl(config.url); // 设置下一个 URL         //负载均衡
        return config;
    },
    (error) => {
        // 对请求错误进行处理
        return Promise.reject(error);
    }
);
发表评论 / Comment

用心评论~