You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Dominic Hamon (JIRA)" <ji...@apache.org> on 2014/11/19 19:20:34 UTC

[jira] [Commented] (MESOS-2130) Allow prefix routing of paths in libprocess

    [ https://issues.apache.org/jira/browse/MESOS-2130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14218265#comment-14218265 ] 

Dominic Hamon commented on MESOS-2130:
--------------------------------------

I really like this idea. I like it from a discovery point of view (not needing to track the leading master) and the simplification of the slave endpoint. My concern is that this will increase the load on the master process as it needs to route everything. We have no notion of prioritisation in the endpoints so this could result in the Master process not being able to process other messages.

Even if this is a separate libprocess Process, it will still need to dispatch to the Master process to get the list of slaves and their IPs. Unless the proxy process maintains its own list of Slaves, which then adds a layer of complication over ownership of the slave information.

One final thought: If we abstract the knowledge of Slaves from the Master process to a different management Process, and then the Proxy and Master can use this as the source of truth, it might simplify things and reduce the load.

(sorry, i've thought about this quite a bit)

> Allow prefix routing of paths in libprocess
> -------------------------------------------
>
>                 Key: MESOS-2130
>                 URL: https://issues.apache.org/jira/browse/MESOS-2130
>             Project: Mesos
>          Issue Type: Improvement
>          Components: libprocess
>            Reporter: Cody Maloney
>            Assignee: Cody Maloney
>
> Currently libprocess can only route to UPIDs, and then within the upids one top level "command". Ideally you can attach C++ endpoints to arbitrary paths, including taking everything that matches a prefix:
> Ex:
> /slaves/:slave_id/ could proxy to an individual slave
> /slaves/ 
>  - Alias for /slave(1) if only one slave
> /slaves/{number} 
>  - point to an individual slave rather than requiring people to properly encode () in urls.
> /proxy/go/master-leader/files/browse.json
>  - The endpoint would be /proxy/go, and then it internally processes the request to find the host it should go to (What is the IP for the currently elected master?) and then forwards the rest of the path to the target machine.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)