Achieving fault-tolerance

Posted by Dmitry Lishafaev on 19-Jul-2015 17:48

Achieving fault-tolerance with OE Replication Plus, stateless Appserver and Name Server Load Balancer.

Could you please suggest me any whitepaper for doing this?

I have tuned automatically db transition (when one server going down), I have tried to play with trial NS balancer (with no conjunction with OE Repl+, just for learning basics) and I have full access to source code of my 3-tier application.

Or I should use HACMP (I have IBM AIX) and procluster?

So I need something that looks like "Achieving fault-tolerance 101" ...

Posted by Brian Bowman on 27-Jul-2015 09:07

Hi -

  I have put a whitepaper out in the documents about achieving High Availability.  It is dated and I will work to update it but the information is still mostly valid (especially with regards to HA with OE).  Here is the link:  community.progress.com/.../2316.aspx

Brian

Posted by Roy Ellis on 20-Jul-2015 12:56

Hi Dimirty,

I looked for a document on this, I have presented this on several occasions but couldn't find a "How-To" document on achieving fault-tolerance.  So instead here is fault-tolerance in nut-shell.  (Please excuse the character based drawing)

+----------+ +----------+

|  client  |        |  client   |

+----------+ +----------+

        |      \  /       |             Clients connect to multiple NameServers

        |       \/   |             Using UDP (or Multicast IPv6)

|       /\        |

|      /  \       |

+----------+ +----------+

|  Name   | |  Name   | NameServers must have Load Balancing License

|  Server  | |  Server  |

+----------+ +----------+

        |       \  /       |

        |        \/    |

|        /\        |              AppServers connect to multiple NameServers

|       /  \       |              Using UDP (or Multicast IPv6)

+----------+ +----------+

|  App       | |  App      |

|  Server  | |  Server  |

+----------+ +----------+

    |                /                     AppServers connect to Source RDBMS

    |            /

    |            /  

    |          /    

+----------+ +----------+

|               | |               |

|RDMBS | |RDMBS |

|  Source | |  Target  |

+----------+ +----------+

NOTE:     You must handle how the AppServer changes it's connection from the

         SOURCE db to TARGET db.  My favorite answer is to have DNS server

         which changes the IP address as part of the AUTO-Transition scripting at

         Fail-over.

If you used clustering for the database instead of Replication you would

not have to worry about how the machine name (or IP) changing at fail-over.

You would however, in either scenario, Replication of Cluster, have to write

your AppServer code to continue to try to reconnect if the database connection is

lost at any time (like during a fail-over).

Please let me know if you have further questions.  Roy

All Replies

Posted by Roy Ellis on 20-Jul-2015 12:56

Hi Dimirty,

I looked for a document on this, I have presented this on several occasions but couldn't find a "How-To" document on achieving fault-tolerance.  So instead here is fault-tolerance in nut-shell.  (Please excuse the character based drawing)

+----------+ +----------+

|  client  |        |  client   |

+----------+ +----------+

        |      \  /       |             Clients connect to multiple NameServers

        |       \/   |             Using UDP (or Multicast IPv6)

|       /\        |

|      /  \       |

+----------+ +----------+

|  Name   | |  Name   | NameServers must have Load Balancing License

|  Server  | |  Server  |

+----------+ +----------+

        |       \  /       |

        |        \/    |

|        /\        |              AppServers connect to multiple NameServers

|       /  \       |              Using UDP (or Multicast IPv6)

+----------+ +----------+

|  App       | |  App      |

|  Server  | |  Server  |

+----------+ +----------+

    |                /                     AppServers connect to Source RDBMS

    |            /

    |            /  

    |          /    

+----------+ +----------+

|               | |               |

|RDMBS | |RDMBS |

|  Source | |  Target  |

+----------+ +----------+

NOTE:     You must handle how the AppServer changes it's connection from the

         SOURCE db to TARGET db.  My favorite answer is to have DNS server

         which changes the IP address as part of the AUTO-Transition scripting at

         Fail-over.

If you used clustering for the database instead of Replication you would

not have to worry about how the machine name (or IP) changing at fail-over.

You would however, in either scenario, Replication of Cluster, have to write

your AppServer code to continue to try to reconnect if the database connection is

lost at any time (like during a fail-over).

Please let me know if you have further questions.  Roy

Posted by Dmitry Lishafaev on 21-Jul-2015 13:46

Thank you, Roy, for the answer.

By the way, I have found presentation, it was published almost ten years ago - download.psdn.com/.../DB-12_Chavez.ppt

In my opinion I should take full advantage of HACMP and OE Replication+

Posted by Brian Bowman on 27-Jul-2015 09:07

Hi -

  I have put a whitepaper out in the documents about achieving High Availability.  It is dated and I will work to update it but the information is still mostly valid (especially with regards to HA with OE).  Here is the link:  community.progress.com/.../2316.aspx

Brian

Posted by Dmitry Lishafaev on 28-Jul-2015 04:56

Thank you, Brian

This thread is closed