基于洗牌算法的负载均衡

基于洗牌算法的负载均衡

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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 @   delphi中间件  阅读(436)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2018-08-26 firedac使用UNIXODBC连接SQLSERVER
2013-08-26 综合而强大的DATASNAP
点击右上角即可分享
微信分享提示