Architecture

Overview

Gloo aggregates back end services and provides function-to-function translation for clients, allowing decoupling from back end APIs

Overview

Clients issue requests or emit events to routes defined on Gloo. These routes are mapped to functions on upstream services by Gloo's configuration (provided by clients of Gloo's API).

Clients connect to proxies managed by Gloo who then transform requests into function invocations for a variety of functional backends. Non-functional backends are supported via a traditional Gateway-to-Service routing model.

Gloo performs the necessary transformation between the routes defined by clients and the back end functions. Gloo is able to support various upstream functions through its extendable function plugin interface.

Gloo offers first-class API management features on all functions:

Component Architecture

In the most basic sense, Gloo is a translation engine and Envoy xDS server providing advanced configuration for Envoy (including Gloo's custom Envoy filters). Gloo follows an event-based architecture, watching various sources of configuration for updates and responding immediately with v2 gRPC updates to Envoy.

Component Architecture

Discovery Architecture

Gloo is supported by a suite of optional discovery services that automatically discover and configure gloo with upstreams and functions to simplify routing for users and self-service.

Discovery Architecture

Discovery services act as automated Gloo clients, automatically populating the storage layer with upstreams and functions to facilitate easy routing for users.

Discovery is optional, but when enabled, will attempt to discover available upstreams and functions.

Currently supported: