<div dir="ltr"><div dir="auto">Ahh, thanks a lot for the reference and sorry for the late reply, Maxim.</div><div dir="auto"><br></div><div dir="auto">So reading that and assuming I’m already collecting via an OOB/async call the weights of each server (the idea is to change the weights dynamically), then when I notice a change in the weight of one of the peers the things I should update are:</div><div dir="auto"><br></div><div>For round-robin:</div><div><br></div><div dir="auto"> - the -> weight of the peer (I assume via get_peer): the new dynamic value.</div><div> - The effective_weight: the new dynamic value.</div><div> - Reset the current_weight to 0.</div><div> - Update total_weights for the upstream group.</div><div><br></div><div>As for least conn, hash and others looks like we similar changes would also be needed.<br></div><div><br></div><div>Am I a bit lost or in the right path? ;-D</div><br><div class="gmail_quote"><div>On Mon, May 14, 2018 at 8:18 PM Maxim Dounin <<a href="mailto:mdounin@mdounin.ru" target="_blank">mdounin@mdounin.ru</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello!<br>
<br>
On Mon, May 14, 2018 at 08:04:22PM -0700, Pablo Fischer wrote:<br>
<br>
> We are looking (unless it already exists) to add load feedback<br>
> functionality to our setup, this basically means to have an API<br>
> (either lua or through C) that we can use to change the weight of<br>
> servers "dynamically" (either async or by hitting a specific URL).<br>
> <br>
> However when reading the code I'm a little confused on the difference<br>
> between those weight variables, seems that sometimes you compare them<br>
> against each other so not sure what is the difference in them.<br>
> <br>
> What is the difference between weight, current_weight and<br>
> effective_weight? I'm assuming that total_weight is the sum of all<br>
> weights (weight?) for a given upstream.<br>
<br>
Try reading this commit:<br>
<br>
<a href="http://hg.nginx.org/nginx/rev/c90801720a0c" rel="noreferrer" target="_blank">http://hg.nginx.org/nginx/rev/<wbr>c90801720a0c</a><br>
<br>
-- <br>
Maxim Dounin<br>
<a href="http://mdounin.ru/" rel="noreferrer" target="_blank">http://mdounin.ru/</a><br>
______________________________<wbr>_________________<br>
nginx-devel mailing list<br>
<a href="mailto:nginx-devel@nginx.org" target="_blank">nginx-devel@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-devel" rel="noreferrer" target="_blank">http://mailman.nginx.org/<wbr>mailman/listinfo/nginx-devel<br></a><br>
</blockquote></div></div>