Recovering from failure of a Rinda ring server

Discussion in 'Ruby' started by Dido Sevilla, Jan 21, 2005.

  1. Dido Sevilla

    Dido Sevilla Guest

    I'm in the process of designing a fault-tolerant distributed
    application using Ruby, and am looking at whether Rinda will be
    suitable for this purpose. I am wondering what strategies are
    available for recovering from the failure of the ring server, which
    seems to me like a critical single point of failure. It is possible to
    run the ring server/tuplespace daemon as part of a Linux-HA heartbeat
    cluster to guard against physical failure of the primary ring server,
    but this requires restarting the ring server on the secondary node.
    The new ring server instance running on the backup server is now
    ignorant of all services that were previously registered on the old
    ring server before the failure. This is unacceptable for the
    distributed application. Is there a way for live services to
    automagically detect failure of the ring server, and automatically
    reregister themselves with it when it goes back up in that case, or
    some way for a primary and backup ring server to communicate with each
    other and share information about registered services transparently?
     
    Dido Sevilla, Jan 21, 2005
    #1
    1. Advertising

  2. Dido Sevilla

    Eric Hodel Guest

    --Apple-Mail-37--775966511
    Content-Transfer-Encoding: 7bit
    Content-Type: text/plain; charset=US-ASCII; format=flowed

    On 20 Jan 2005, at 22:10, Dido Sevilla wrote:

    > I'm in the process of designing a fault-tolerant distributed
    > application using Ruby, and am looking at whether Rinda will be
    > suitable for this purpose. I am wondering what strategies are
    > available for recovering from the failure of the ring server, which
    > seems to me like a critical single point of failure. It is possible to
    > run the ring server/tuplespace daemon as part of a Linux-HA heartbeat
    > cluster to guard against physical failure of the primary ring server,
    > but this requires restarting the ring server on the secondary node.
    > The new ring server instance running on the backup server is now
    > ignorant of all services that were previously registered on the old
    > ring server before the failure.


    Yup.

    > This is unacceptable for the
    > distributed application. Is there a way for live services to
    > automagically detect failure of the ring server, and automatically
    > reregister themselves with it when it goes back up in that case, or
    > some way for a primary and backup ring server to communicate with each
    > other and share information about registered services transparently?


    1) Run more than one RingServer, and have each cross-register the
    other's services. (This service doesn't have to run on the RingServer
    itself, actually...)

    2) The RingServer removes services automatically when a service's
    renewer fails to respond. Renewers are invoked after some timeout. On
    the service side, if the service's renewer is not invoked within a
    timeout, you could have the service re-register itself, something like
    IRC's PING/PONG handshake.

    --
    Eric Hodel - - http://segment7.net
    FEC2 57F1 D465 EB15 5D6E 7C11 332A 551C 796C 9F04

    --Apple-Mail-37--775966511
    content-type: application/pgp-signature; x-mac-type=70674453;
    name=PGP.sig
    content-description: This is a digitally signed message part
    content-disposition: inline; filename=PGP.sig
    content-transfer-encoding: 7bit

    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.2.4 (Darwin)

    iD8DBQFB8gXcMypVHHlsnwQRAkBXAKCu2HWbhy3UhVWTfEROHAonSflOTgCeJJtS
    +E0jSWEYBzaLIIcLEbOi490=
    =GwCI
    -----END PGP SIGNATURE-----

    --Apple-Mail-37--775966511--
     
    Eric Hodel, Jan 22, 2005
    #2
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Philip Pemberton

    Recovering gracefully from a realloc() failure

    Philip Pemberton, Apr 20, 2006, in forum: C Programming
    Replies:
    10
    Views:
    538
    Skarmander
    Apr 21, 2006
  2. Mathematician
    Replies:
    0
    Views:
    577
    Mathematician
    Dec 24, 2006
  3. Roedy Green

    OT ring ring

    Roedy Green, Aug 5, 2007, in forum: Java
    Replies:
    4
    Views:
    379
    Mike Schilling
    Aug 5, 2007
  4. Shashank Date

    Working with Ring/Rinda

    Shashank Date, Nov 30, 2003, in forum: Ruby
    Replies:
    4
    Views:
    137
    Shashank Date
    Nov 30, 2003
  5. koicat
    Replies:
    0
    Views:
    243
    koicat
    Jul 2, 2010
Loading...

Share This Page