基于洗牌算法的负载均衡

基于洗牌算法的负载均衡

设计一个和服务节点数组大小一致的索引数组,每次来新的请求,对索引数组做洗牌,然后取第一个元素作为选中的服务节点,如果请求失败,那么选择下一个节点重试,依此类推。

var arr: array[0..2] of string = ('100.69.62.1:1122', '100.69.62.2:1122', '100.69.62.3:1122');

procedure TForm1.Button1Click(Sender: TObject);
begin
  randomize;
  var i: Integer;
  var s: string;
  for i := 0 to 2 do
  begin
    var j: Integer := Random(3);
    s := arr[i];
    arr[i] := arr[j];
    arr[j] := s;
  end;
  Caption := arr[0];
end;

  

 

posted @ 2019-08-26 13:26  delphi中间件  阅读(...)  评论(... 编辑 收藏