Skip to content
New issue

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

dispatcher: relative weight distribution #219

Merged
merged 3 commits into from Jun 25, 2015

Conversation

snen
Copy link
Contributor

@snen snen commented Jun 21, 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

- it is possible to assign "rweight" (relative weight) param to each host in destination group.
rweight is in the integer range from 1 to 100.
Active host usage probability is  rweight/(sum of all active host rweights in destination group).
So INACTIVE/DISABLED destinations are removed from probability calculation.
@miconda
Copy link
Member

miconda commented Jun 22, 2015

Thanks for the contribution. I am going to review soon and merge if all is ok.

…ion array finishing instead of last in destination set
@miconda
Copy link
Member

miconda commented Jun 25, 2015

I will merge it.

It is missing the patch to modules/dispatcher/doc/dispatcher_admin.xml with the documentation for the new algorithm 11 and the new special attribute rweight. Make a new pull request with it.

@snen
Copy link
Contributor Author

snen commented Jun 25, 2015

docs writing before approving is too hard )
added

@miconda
Copy link
Member

miconda commented Jun 25, 2015

Thanks!

miconda added a commit that referenced this pull request Jun 25, 2015
dispatcher: relative weight distribution
@miconda miconda merged commit 37e205c into kamailio:master Jun 25, 2015
@snen snen deleted the dispatcher_weight_relative branch September 10, 2015 13:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants