XMPP, Connect Server, and SRV
cbas at pandion.be
Fri Oct 17 04:55:54 EDT 2008
On Fri, Oct 17, 2008 at 1:59 PM, Mark Doliner <mark at kingant.net> wrote:
> On Thu, Oct 16, 2008 at 9:46 PM, Sebastiaan Deckers <cbas at pandion.be>
> > There is never any case of "SRV lookup on the SRV lookups".
> > Rather the user (eg. j.doe at gmail.com) would specify in the client a hard
> > coded hostname (eg. talk.google.com) for their XMPP server. The client
> > uses SRV resolution on that hardcoded address.
> > This allows the server to distribute client connections across a cluster
> > using SRV weights, even if it can't support SRV on its main DNS address.
> > Without SRV resolution such hard coded address could as not easily be
> > shared across nodes.
> > Of course if the SRV lookup fails on the hard coded address then client
> > continue to a regular name lookup.
> > Am I overlooking some downside to trying SRV lookup on the hard coded
> > address?
> I don't see any major downside, but I also don't think it's a good
> idea. I think this is a very unnecessary feature, and I think it
> needlessly complicates the code. I think very few people will benefit
> from this, if any. Yes it is just one little feature, but you've got
> to draw the line somewhere. libpurple is pretty large, and I think
> this is something we should consciously chose not to include.
I don't know about the libpurple code base but once SRV lookups have been
implemented (which XMPP Core requires) then couldn't you easily re-use that
code? I don't see how it adds any complexity. In fact there is less
complexity because there's only a single way to look up XMPP hostnames
instead of two different code paths.
Your possible use case is that there might exist a jabber domain with
> so many users that they need to load balance their incoming
> connections, and that whoever is running this huge jabber network is
> unable to create DNS SRV record for their domain, but is somehow able
> to create DNS SRV records for the domain that people user as the
> connect server? That sounds very contrived to me.
Not as alien as you think it might be. In fact I'm involved in a project
Imagine a network of people who sign up with their existing email address.
These addresses could be used by the network as XMPP IDs. So a user could
log in with Pandion or Pidgin or any other XMPP client using an ID "
billg at microsoft.com" and set the connect server as "
That cluster could support huge numbers of domains and users which don't yet
have SRV records.
Seems like a valid use case to me, and SRV lookups of the connect server
makes it that much easier to implement.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Devel