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.
