[JDEV] phew
Rodolphe Duge de Bernonville
rod at idealx.com
Mon Dec 4 09:22:50 CST 2000
Dennis Noordsij a écrit :
> I have another question with regard to this modular stuff, what if you run 2
> jabber service managers on 2 different systems, both controlling the same
> domain, and you set up one instance to <accept>, and the other one to
> <connect>, ie create a connection between the 2. (similar to how the
> conferencing module recommends one jabber spawning another jabber for
> stability reasons - i want to do this using tcp/ip so I can have the
> instances on different machines, but not for stability reasons but
> scalability).
Maybe you can also try that with mod_farm. It was available in
jserver-1.0.
It takes the username and a hash function to locate where is the user
session.
>
> Client networking is done on yet another machine (or more) running for
> example jpolld's.
>
> My point is to use a fast 100 mbit link between 2 jabber instances to divide
> the service manager load (the routing) over those machines. If one machine
> receives a message and it doesn't know the destination session it sends it to
> the other jabber instance who should know it. If it does know the user it
> handles it itself. (with the point being that each JSM only has to do a part
> (ideally half) of the routing it would otherwise have to, thus scaling :)
>
> By doing that, and running several jpolld machines you should be able to
> scale as far up as the bandwidth between the components allows.
As I told you in my mail, I dont think it is very scalable ...
With 3 servers, in this configuration :
1 <--> 2 <--> 3
You will have a problem when you want to route message from server 2 ...
Where must go your packet ? server 1 or server 3 ?
You need to know where must go the packet, and so where is the session
(which server ...).
Therefore, you have 2 approaches :
- centralize information : sql database (with xdb_sql ...), or files,
(xdb_file, with nfs server) and use mod_route and the patch to
dialback.c.
- dont centralize information : mod_farm, but it becomes difficult
to do things like load balancing ...
More information about the JDev
mailing list