[Serusers] RE: [Serdev] dispatcher module
serdev at dror.mailshell.com
serdev at dror.mailshell.com
Mon Aug 9 14:49:16 CEST 2004
I think it would be great to extend the "dispatcher" module, to be able to dispatch among registered entries.
that is, instead of a database, select an address based on the current contacts list.
e.g.: Assume I have an application that registers under the name "app at iptel.org" from several physical servers.
The dispatcher will allow me to load-balance among those servers, by selecting one of the registered contacts.
maybe it can be added by defining a set named "contacts" for ds_select_dst.
note: it would be best if the function first find the highest q-value in those contacts, then select only among the entries with the highest value.
Alternately, it can be configured so that it gives relative "weight" to entries based on their q-value.
example usage:
route{
if ( !mf_process_maxfwd_header("10") )
{
sl_send_reply("483","Too Many Hops");
drop();
};
if ( method=="REGISTER" && uri= ~"app" ) {
save( "servers" );
sl_send_reply( "200", "Registered ok" );
break;
};
if ( lookup( "servers" ) ) {
ds_select_dst("contacts", "0");
forward(uri:host, uri:port);
# t_relay();
};
}
-----Original Message-----
From: serdev-bounces at lists.iptel.org [mailto:serdev-bounces.at.iptel.org at serdev.at.dror.mailshell.com]On Behalf Of Daniel-Constantin Mierla
Sent: Friday, August 06, 2004 14:44
To: serdev at lists.iptel.org; 'serusers at lists.iptel.org'
Subject: [Serdev] dispatcher module
Hello,
I wrote a tiny module "dispatcher", able to select a destination to
relay the requests to from a set of addresses. It would compute hashes
over parts of the request (e.g., call-id) and select an address from the
destination set based on modulo function. The selected address is used
then as outbound proxy. The module could be used as a stateless load
balancer, but with no guarantee of fair distribution. It can be easily
extended (other distribution functions), but right now I have no time --
contributors will be very welcome.
Would someone be interested in such module? If yes, I will add it to cvs
very soon.
Daniel
_______________________________________________
Serdev mailing list
serdev at lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serdev
---------- Your email is protected by Mailshell ----------
To block spam or change delivery options: http://www.mailshell.com/control.html?a=bsw4nz4bh24sm4jnp9dk8hosnqhlnxzi
FreshAddress.com http://rd.mailshell.com/ad482
Earn up to $3 for each of your friends who signs up with Mailshell! http://rd.mailshell.com/sp5
More information about the sr-users
mailing list