You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by GitBox <gi...@apache.org> on 2022/02/01 03:52:33 UTC

[GitHub] [druid] paul-rogers opened a new issue #12218: Support Services in Extensions

paul-rogers opened a new issue #12218:
URL: https://github.com/apache/druid/issues/12218


   Druid provide wonderful support for many kinds of extensions. However, one incomplete area is the ability to define a new service which looks like it is part of Druid. This issue describes the full set of changes required. For convenience of review, the actual work is spread across several PRs.
   
   Here, we define "service" as something that introduces a new REST endpoint. Druid also calls these "roles" or "servers". A server is generally started with:
   
   `<druid> server <server-name`
   
   So, the first set of revisions allow the `CliCommandCreator` to create a `ServerRunnable` command within the `server` command group. Existing mechanisms allow the service to build a web app (albeit with a distastefully large amount of copy/paste of code. That is something to clean up in a later PR.)
   
   This new web service may introduce public APIs, and it may have private endpoints used by other services. The `PrivateAPI` annotation provides a code way to mark the private endpoints.
   
   The new web service can define a `NodeRole`, and register itself in ZK, but none of Druid's existing REST or SQL APIs for learning about servers will know about this service. To solve this, we move the set of known node roles out of a static variable and into a Guice multi-binder. We then modify the various server-related APIs to use the list of roles from Guice.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org