Uploaded image for project: 'Apache S4'
  1. Apache S4
  2. S4-10 Dynamic s4 cluster management:S4 as a service
  3. S4-24

Dynamic deployment of S4 applications from a remote repository

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Implemented
    • 0.5.0
    • 0.5.0
    • None

    Description

      Use case:

      • at startup or during runtime, s4 nodes are notified of new applications available. The code for these applications is fetched from a remote repository, installed on S4 nodes, and the applications are started automatically.

      How does it work?

      • Zookeeper is used for coordination: when a new app is available, it creates a new znode under /s4-cluster-name/apps/app1
      • S4 nodes are notified of this new znode, which contains the s4r URI as metadata
      • S4 nodes can then fetch the s4r, copy it to a local directory and start it
      • we also need a facility to create the app into Zookeeper, along with required metadata

      For a first milestone, I suggest:

      • a simple file system based repository (can be a distributed file system)
      • deployment only, no unloading

      Later we can add extensions:

      • We could provide various repository clients, depending on the protocol specified, and on the level of trust of the repository (although for a first version, we would just provide a simple mechanism and assume a trustworthy environment).
      • more metada in the application znode, in order to control the state of the app, a time to start / stop, a number of nodes, nodes requirements etc...

      I'll start working on a first implementation, and I'm eager to receive suggestions.

      Attachments

        1. S4-24.patch
          135 kB
          Matthieu Morel

        Issue Links

          Activity

            People

              mmorel Matthieu Morel
              mmorel Matthieu Morel
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: