Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. Design and Architecture
  4. Container orchestration with primary and secondary failover

Container orchestration with primary and secondary failover

Scheduled Pinned Locked Moved Design and Architecture
questioncssdesigndockerbusiness
2 Posts 2 Posters 4 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Offline
    P Offline
    pkaelin
    wrote on last edited by
    #1

    Posting an architecture/design question without a picture might be a challenge in itself but I'll have a go anyway :) While a primary/secondary (previously master/slave) can be implemented by oneself I was wondering whether this doesn’t come out of the box in a container orchestration management system. Requirements:

    • High availability (redundancy) but doesn’t need scaling (capacity).
    • Orchestration decides which one is Primary/Secondary (or Alternates (multiples)).
    • Container and application (MyApp) knows whether its Primary/Secondary (or Alternates (multiples)).
    • Only the primary application (MyApp) is communicating with the service x and the physical device(s).
    • Only the primary application (MyApp) forwards the responses to the secondary (with a safe mechanism in
      place) so that the secondary has all the data/states up to date at all times.* Failover should happen within less than a second (e.g. 500ms).

    Design:

    |...Container Primary...|
    |.......................| ------ Send Message -----------> |.....Service X.....|
    |........[ MyApp ]......|
    |.......................| < ----- Request/Response ------> |..Physical Device..|

    ....^...............|...
    ....|...............|...
    ..Check......Forward response from device
    ....|........so that secondary is always up to date
    ....|...............|...
    ....v...............v...

    |..Container Secondary..|
    |.......................|
    |.......[ MyApp ].......|
    |.......................|

    Though I have left out the details I hope the overall requirements/concept is clear. Questions:

    • Is there a container orchestration management that handles primary/secondary concept?
    • Most importantly will my application (MyApp) hosted in the container know when it's in what state (Startup, Sync, Primary, Secondary, PrimaryOnly)?
    • How is it best implemented if there is an existing concept?

    PKaelin

    L 1 Reply Last reply
    0
    • P pkaelin

      Posting an architecture/design question without a picture might be a challenge in itself but I'll have a go anyway :) While a primary/secondary (previously master/slave) can be implemented by oneself I was wondering whether this doesn’t come out of the box in a container orchestration management system. Requirements:

      • High availability (redundancy) but doesn’t need scaling (capacity).
      • Orchestration decides which one is Primary/Secondary (or Alternates (multiples)).
      • Container and application (MyApp) knows whether its Primary/Secondary (or Alternates (multiples)).
      • Only the primary application (MyApp) is communicating with the service x and the physical device(s).
      • Only the primary application (MyApp) forwards the responses to the secondary (with a safe mechanism in
        place) so that the secondary has all the data/states up to date at all times.* Failover should happen within less than a second (e.g. 500ms).

      Design:

      |...Container Primary...|
      |.......................| ------ Send Message -----------> |.....Service X.....|
      |........[ MyApp ]......|
      |.......................| < ----- Request/Response ------> |..Physical Device..|

      ....^...............|...
      ....|...............|...
      ..Check......Forward response from device
      ....|........so that secondary is always up to date
      ....|...............|...
      ....v...............v...

      |..Container Secondary..|
      |.......................|
      |.......[ MyApp ].......|
      |.......................|

      Though I have left out the details I hope the overall requirements/concept is clear. Questions:

      • Is there a container orchestration management that handles primary/secondary concept?
      • Most importantly will my application (MyApp) hosted in the container know when it's in what state (Startup, Sync, Primary, Secondary, PrimaryOnly)?
      • How is it best implemented if there is an existing concept?

      PKaelin

      L Offline
      L Offline
      Lost User
      wrote on last edited by
      #2

      I don't think much of "forwarding". I prefer concurrent queues that "secondaries" subscribe to. It's naturally async; your design reflects only syncronous operations which have to stay in step.

      "Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I

      1 Reply Last reply
      0
      Reply
      • Reply as topic
      Log in to reply
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes


      • Login

      • Don't have an account? Register

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • World
      • Users
      • Groups