js实现最简单的负载均衡

295 阅读1分钟

image.png

const CryptoJs = require("crypto-js")

let reqUrl = '/test/par1=12&par2=33'
const nodeLis: Array<string| number> = ["10.0.0.22", "10.0.0.23", "10.0.0.24"]

let sha256 = CryptoJs.SHA256(reqUrl)
let hashInt = BigInt('0x' + sha256.toString())
let nodeIdx = Number(hashInt % BigInt(nodeLis.length))

console.log(nodeLis[nodeIdx])

image.png