Hi Stipe,

On 12/20/06, Stipe Tolj <[EMAIL PROTECTED]> wrote:
...
Constructive thoughts on this please. (and not only: "yeah, we wanna have it,
please code it. When is it gonna be available? Yesterday please." ;)

Some "Constructive thoughts" then: we have SMPP connections into
several operators (not with Kannel, but our own SMPP software).  These
operators run on different redundancy architectures.

1) This one runs 2 "indepentend" systems.  You have to bind to either
one of them.  At any time they can switch one of the system off.  If
it happens to be the one that you are bound to, you need to then bind
to the other one.  For this we use a FailoverScheduler that contains 2
configuration sets.  The sceduler checks the state of the current
active handler and make the other connection active if the first one
fails and will keep on switching between the two until one succeeds..

2) Similar to the first one: here you have several system that does
failover for each other, but you prefer to be bound to the first one
(primary).  Here we use a FailoverScheduler (like above) with a
affinity timeout.  So, if the first connection fails another
connection is made active.  But after the configured timeout, the
scheduler will revert back to the first one.

3) Another one also has 2 systems that you need to bind too.  But for
this you need to be bound to both at the same time.  Here we use a
RoundRobinScheduler that contains 2 confguration sets.  MT messages
are split across the 2 connections.  The sceduler checks the state of
each handler (is it bound?) before giving it a message to send, so if
one of the connections is down it will send all the messages to the
other connection.

Reply via email to