We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
若果dests中rs为rs1(weight:2;no_overload);rs2(weight:1;no_overload) dests->next=rs1;rs1->next == rs2;rs2->next=dests; mark->di = 1; mark->cw = 2 如果新建连接,负载均衡到rs1,mark->cl = r1; 然后rs1新建连接计数增加,rs1状态变换为overload。 再有新建连接过来,rs1状态无效,rs2权重较小全部忽略。 然后mark->cw-=mark->di; rs1状态依旧无效;这样将触发if (mark->cl == p && mark->cw == mark->di) ,跳过对rs2的选择,导致无法获取rs。
The text was updated successfully, but these errors were encountered:
if (mark->cl == p && mark->cw == mark->di) 这个终止条件包含两个约束:
if (mark->cl == p && mark->cw == mark->di)
这两个约束可以保证算法能选中最小权重的可用的RS。
Sorry, something went wrong.
ywc689
No branches or pull requests
若果dests中rs为rs1(weight:2;no_overload);rs2(weight:1;no_overload)
dests->next=rs1;rs1->next == rs2;rs2->next=dests;
mark->di = 1;
mark->cw = 2
如果新建连接,负载均衡到rs1,mark->cl = r1; 然后rs1新建连接计数增加,rs1状态变换为overload。
再有新建连接过来,rs1状态无效,rs2权重较小全部忽略。
然后mark->cw-=mark->di;
rs1状态依旧无效;这样将触发if (mark->cl == p && mark->cw == mark->di) ,跳过对rs2的选择,导致无法获取rs。
The text was updated successfully, but these errors were encountered: