In this section we'll take a closer look at Kuzzle's server architecture.
# Core Components
The diagram above depicts the various components that make up the server architecture, these are:
- Entry Points: handles the incoming message and sends them to the Funnel.
- Router: exposes the HTTP endpoints, normalizes any request, and forwards it to the Funnel.
- Funnel: receives normalized requests and forwards it to the appropriate controller, sends results back to the Entry Points.
- Controllers: receives data fom the Funnel, processes it, and returns a result to the Funnel (see API reference).
- Internal Components: are internal modules used by controllers to process a request.
- Service Components: are interfaces used by controllers to connect to external services (see below).
In our architecture, a "Service" is an interface that interacts with external components.
Kuzzle currently implements the following Services: