[SOLVED] Urouter and failover

Author: i.sharp@pcisystems.co.uk (Iain Sharp)

As our physical server is down for maintenance, taking all our virtual machines with it, I have time (and motivation) to ponder failover states for our application.  I can see setting up separate assignment files on the client to access two different urouters on two different machines, and having the users log in to the 'emergency' logon if the main one is failing. I can envisage ways of locking them out of those logons where the main server is up and running.  In the paths section of the help I can see that you can forward urouter assignments through up to 8 levels, but if I read this correctly, that's a fixed chain, and the path always winds up at the last urouter.  I am wondering if anyone has implemented a more elegant failover than 'use the other icon', using only the urouter technology (obviously mirror machines and cluster etc. management are cheating in this context...)


  1. Unfortunately, it's the old chestnut - how much 'availability' do you want - and how much are you prepared to pay for it?.... As for the merry-go-round with urouter and 8 levels - my (maybe mistaken) understanding is - once you get to the bottom of that list, there's no way to automatically switch back to the top of the list. Hence, you'll still have to log off / log on to resolve the situation where the 8th one dies (or when you want to revert to the server at the top (probably the one with the most capacity and grunt).... Cheating ==> how much 'availability' do you want - and how much are you prepared to pay for it? Laugh Knut

    Author: Knut (knut.dybendahl@gmail.com)
  2. I read the 8 levels in the urouter as saying, talk to urouter1 which will talk to urouter2 etc until it reaches the last one, where it will actually start the userver/get the data. Not as a failover but as a network route...    Iain

    Author: Iain Sharp (i.sharp@pcisystems.co.uk)
  3. I somehow get the feeling that you mix up Router Hopping (chaining up to 8 Routers) and Fallback Paths (to be used if the initial path is not available). Here's the example from the doc where two alternative paths are specified:

    $SRU = TCP:phoenix|kaye|birdbrain
    $SRU[1] = TCP:roc|kaye|?
    $SRU[2] = TCP:emu|general|?

    "If the logon to node ‘phoenix’ does not succeed, Uniface tries to open the fallback path to ‘roc’. A Log On form is presented for user ‘kaye’ on node ‘roc’. If the user cannot log on to ‘roc’ and clicks Cancel, Uniface attempts to open the second fallback path. If that logon attempt also fails, an error is reported to the process trying to open the path." Hope this helps. Daniel

    Author: diseli (daniel.iseli@uniface.com)
  4. Not so much confused. I had worked out that Router Hopping was not what I wanted, but I hadn't seen the Fallback Paths as part of the ASN help. Looks like this detail is at some depth in the help file, and I didn't know Uniface called it Falback....  Thanks, that looks like the info I want, now to plan an architechture which can use it....  Iain

    Author: Iain Sharp (i.sharp@pcisystems.co.uk)
  5. You are welcome. Smile Daniel

    Author: diseli (daniel.iseli@uniface.com)