[JDEV] Status Notifications.
Jeremie
jeremie at jabber.org
Sat Jan 16 00:47:35 CST 1999
> i would recommend against keeping the "roster" on the server side.
Well, as like everything else in Jabber this can be optional, but I'm am
quite sure that in almost every possible case this feature will be used.
Jabber is designed around a "smart" server concept, where clients can be
simple "lightweight" processes and aren't required to store any data at
all.
> assuming the "roster" is on the server side, here's the reason:
>
> 1. servers must keep a list of currently logged-in users.
> assuming N users logged at one time, the server must maintain
> N records.
It does this already... the server must always know who's logged in, it's
inherent to it's functionality.
> 2. servers maintain a "roster" for each user logged in.
> at worst, each user will have each other user in their roster.
> this means that the total roster list could approach N^2.
> this will be very bad in large installations.
Large installations will most likely be using an SQL database in the
backend to store all of this information. Say you have 10,000 users and
on average they have 100(high end average) in their roster, thats 100k
rows in a table, something my 486 and msql doesn't even have a problem
doing :)
Also, the data to send a roster whenever a client connects, even for a
large roster, is still very very little(100 users might be at most 10k)...
and clients can fetch the roster in chunks if needed.
IMHO, server side rosters ranks up there near the top in my own personal
"most important features".
Jer
More information about the JDev
mailing list