Re: Kannel in clustered environment

Stipe Tolj <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Organization tolj.org system architecture
Message-ID <[email protected]>
Dziugas Baltrunas wrote:

> Hi list,
> 
> I'd like you to share the experience about running Kannel as SMS
> gateway in clustered environment, when there are more than one node
> and fail over is basically more important than load balancing. Idea
> behind the scenes is that on each node there is an application server
> running which uses Kannel for MT SMS and Wap Push (via PPG) and the
> goal is to be sure that if one node goes down, application continues
> to work. In front of the nodes there is a load balancer which is able
> to detect if a particular node is dead then requests should be
> redirected to the one which is alive.
> 
> According to my tests with SMPP drivers, neither SMSC worked with
> parallel transmitters and transceivers either and SMSC mostly blames
> with 0x00000005 (ESME Already in Bound State) or other error with the
> similar meaning. Saying parallel I mean having a Kannel instance
> running same time on the each node.
> 
> So having setup of just two nodes, I only achieved kind of "fail over"
> with the script on both nodes constantly checking if other node is
> alive, hence assuring that there is one Kannel instance between nodes
> in a time. Load balancer then directs user to the "active" node.
> 
> Are there any better setups as such? Looks like at least with SMPP in
> "real" clustering environment there should be several SMSC in order to
> achieve fail over/load balancing.

thanks Dziugas for your shared experience.

Now, we had similar experiences at Wapme...

The problem is that SMPP and ectually most any other SMSC protocol is a 
transactional architecture, and not a pure pulling archivecture (ie. like HTTP). 
So you can't use parallization concepts like LVS to spread load into several 
boxes that do their jobs and pipe answers to the caller again.

At one time, SMPP servers expect to have "one" SMPP user bound session, 
otherwise you run into the error that you descibed.

The "solution" is more on the conceptual level, not on the SMPP protocol level. 
For high-load, high-avail systems you will need "several" SMPP user accounts for 
specific SMSCs and share those accross the Kannel boxes.

That "shared" (virtual) route is then used by the backend applications. But 
there are again implications, like transmission of segmented binary SMS via 
different SMSCs (or SMPP account resulting in physical different SMSCs). You 
should "asure" all parts run via one line.

Actually, clustering Kannel for SMS gateway purposes is not trivial.

Stipe

-------------------------------------------------------------------
Kölner Landstrasse 419
40589 Düsseldorf, NRW, Germany

tolj.org system architecture      Kannel Software Foundation (KSF)
http://www.tolj.org/              http://www.kannel.org/

mailto:st_{at}_tolj.org           mailto:stolj_{at}_kannel.org
-------------------------------------------------------------------
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.