Hi verybody,
WARNING: Long e-mail.....
I just started learning how to set up a "classical" configuration with
load balancer, DB backend and so on....I was reading several threads
of the mailing lists but since I am a begginer I would need some help
and clarifications. Apologies if my questions have been solved before.
[I read Greger and Granig (and more people, I guess) are working (?)
on a document describing what I try to explain in the follofwing
lines. I would like to know if you are on it or commercial strategies
forced you to leave it...as it seems that HA setups are high
confidential ;)]
I'll try to draw what I have guessed from the threads and other literature...
[SER1]
[LB1] [SER2]
. [DB (mysql cluster)]
[LB2] .
[SERn]
LBi are the front-end load balancers.
SER: do I have to say what are these?? (either openSER/SER. I will use
the name SER for simplicity but I refer to both)
DB: I placed mysql cluster because it seems to be the most common backend...
Let me make an overview...
Load Balancer
For LB, it seems that dispacther module can be used. (I don´t remember
who proposed to dispatch REGISTER with To: and INIVTE with Req-URI,
why not using Call-ID?? For distributing the registration of a given
user between several registrars?). Dispatcher module does not have
failover in case SERi fails so somebody propose to use lcr. Using lcr
module provides failover but does not guarantee to balance to the
right instance of SER so I think the only option is to use dispatcher.
Alternatives:
Please correct me if I am wrong but there isn´t yet an LVR
implementation being Call-ID aware....
DNS SRV records...lack of implementation in end-points and not NAT-friendly..
In order to provide high availability, I tried linux-ha between the 2
LBi for simplicity although it has some wasted resources. Is it worth
to give a try to other IP failover aplications (anycast, quagga/bgp,
vrrpd)?
Anyone with more experience can comment their use??
SIP proxy
SER....just a matter of taste what you want to use, SER or openSER....
I read about the cacheless usrloc patch but I could not find it on
CVS...has it been integrated into the head branch??? has it been
deprecated because of ...(please fill in the reason)?
DB Backend
For the DB backend...I am going to comment mysql clustering...I am
using now 4.1.11 because it was already installed. Is it recommended
to upgrade?? I tried setting the management node, a couple of data
nodes, and I was trying to set a linux-ha configuration with ip take
over for the mysql api node (is it possible??) but unsuccessfully:
When the preferred mysql api node falls down, SER detects the
connection is closed and all further requests are replied with
"Internal Server Error" although the secondary mysql api has overtaken
the service IP and ser database is properly populated.
Is it possible to make SER reconnecting on mysql failure?? It
reconnects to the preferred server once it comes back to live but it
is impossible to connect to the secondary....
As you might have guessed I am a total begginer with mySQL...
Thank for reading until this line, all kinds of comments are wellcome,
Samuel.