[sr-dev] [kamailio] dispatcher: relative weight distribution (#219)

Savolainen Dmitri notifications at github.com
Sun Jun 21 22:47:56 CEST 2015


I was confused a little while using dispatcher weight alg. Smth like this If some host go away:
30/30/40 -> 70/30/0 (the third one was failed). This transformation is more correct in my mind:
30/30/40 -> 50/50/0. So I have to assign some hook to dispatcher:dst-down/dispatcher:dst-up  route for rebalancing
“rweight” (relative weight)  parameter is added in this branch. rweight is in the integer range from 1 to 100 (weight, not percentage).
Active host usage probability is  rweight/(sum of all active host rweights in destination group).
So INACTIVE/DISABLED destinations are removed from probability calculation.
let’s we have rweights 1/2/1; 100 calls will be distributed as  25/50/25
after third host failing (via ds_mark_dst([state]) or RPC dispatcher.set_state or via module pinging): 33/67/0 

You can view, comment on, or merge this pull request online at:

  https://github.com/kamailio/kamailio/pull/219

-- Commit Summary --

  * dispatcher: relative weight distribution added

-- File Changes --

    M modules/dispatcher/dispatch.c (134)
    M modules/dispatcher/dispatch.h (3)
    M modules/dispatcher/dispatcher.c (3)

-- Patch Links --

https://github.com/kamailio/kamailio/pull/219.patch
https://github.com/kamailio/kamailio/pull/219.diff

---
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/219
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-dev/attachments/20150621/488db42e/attachment.html>


More information about the sr-dev mailing list