简介
这一篇确实拖的比较久,上节《nodejs负载均衡(一):服务负载均衡》讲了服务负载均衡实现,但是如果需要调用远程服务, 如何保证不是调用不会集中在一台服务上,如何确保远程服务调用的负载均衡?这就要实现 Consumer
端调用rpc的负载均衡。所以本文章主要讲解 RPC负载均衡算法实现 。
算法
下面介绍几个主要的负载均衡算法如何实现,可以看下我写的NPM包 load-balancer-algorithm。
const LBA = require('load-balancer-algorithm');
const weightRandomPool = [
{
host: "127.0.0.2", weight: 2 },
{
host: "127.0.0.1", weight: 3 },
{
host: "127.0.0.3", weight: 5 },
];
const weightedList = []
const loadBalance = new LBA.WeightedRoundRobin(weightRandomPool);
for(let i = 0; i < 10; i++){
const address