[
https://issues.apache.org/jira/browse/S4-24?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13152094#comment-13152094
]
Matthieu Morel commented on S4-24:
----------------------------------
After getting valuable feedback from Kishore, I added some improvements to the
deployment manager.
I also added support for fetching S4Rs through HTTP (implemented with Netty).
Updates are published here :
https://github.com/matthieumorel/s4-piper/tree/deployment-manager
Leo, note that I kept an intermediate step through a temporary file when
fetching S4Rs. Indeed, passing around file streams is possible but complexifies
the code for maintaining and closing those streams. In addition, this module is
just for loading applications and it has no impact on the performance of the
applications, thus I don't see a strong need for skipping that intermediate
step, at least for now.
> Dynamic deployment of S4 applications from a remote repository
> --------------------------------------------------------------
>
> Key: S4-24
> URL: https://issues.apache.org/jira/browse/S4-24
> Project: Apache S4
> Issue Type: Sub-task
> Affects Versions: 0.5
> Reporter: Matthieu Morel
> Assignee: Matthieu Morel
> Fix For: 0.5
>
>
> 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.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira