gianm commented on a change in pull request #6916: Add master/data/query server concepts to docs/packaging URL: https://github.com/apache/incubator-druid/pull/6916#discussion_r251411107
########## File path: docs/content/design/index.md ########## @@ -93,47 +93,100 @@ Druid has a multi-process, distributed architecture that is designed to be cloud Druid process type can be configured and scaled independently, giving you maximum flexibility over your cluster. This design also provides enhanced fault tolerance: an outage of one component will not immediately affect other components. -Druid's process types are: +## Server Types -* [**Historical**](../design/historical.html) processes are the workhorses that handle storage and querying on "historical" data +A Druid cluster is organized into 3 server types: + +### Master server + +A master server manages data ingestion and storage: it is responsible for starting new ingestion jobs and coordinating availability of data on the "Data servers" described below. + +Within a master server, functionality is split between two processes, the coordinator and overlord. + +#### Coordinator process + +[**Coordinator**](../design/coordinator.html) processes watch over the Historical processes on the Data servers. They are responsible for assigning segments to specific servers, and for ensuring segments are well-balanced across Historicals. + +#### Overlord process + +[**Overlord**](../design/overlord.html) processes watch over the MiddleManager processes on the Data servers and are the controllers of data ingestion into Druid. They are responsible for assigning ingestion tasks to MiddleManagers and for coordinating segment publishing. + +### Query server + +A query server provides the endpoints that users and client applications interact with, routing queries to data servers or other query servers (and optionally proxied master server requests as well). + +Within a query server, functionality is split between two processes, the broker and router. + +#### Broker process + +[**Broker**](../design/broker.html) processes receive queries from external clients and forward those queries to Data servers. When Brokers receive results from those subqueries, they merge those results and return them to the +caller. End users typically query Brokers rather than querying Historicals or MiddleManagers processes on Data servers directly. + +#### Router process (optional) + +[**Router**](../development/router.html) processes are _optional_ processes that provide a unified API gateway in front of Druid Brokers, +Overlords, and Coordinators. They are optional since you can also simply contact the Druid Brokers, Overlords, and +Coordinators directly. + +### Data server + +A data server executes ingestion jobs and stores queryable data. + +Within a data server, functionality is split between two processes, the historical and middle manager. Review comment: Capitalize Data, Historical, and MiddleManager. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@druid.apache.org For additional commands, e-mail: commits-h...@druid.apache.org