Skip to content

Latest commit

 

History

History
94 lines (72 loc) · 7.46 KB

README.md

File metadata and controls

94 lines (72 loc) · 7.46 KB

Easegress Documentation

1. Cookbook / How-To Guide

This is a cookbook that lists a number of useful and practical examples on how to use Easegress for different scenarios.

2. Development Guide

3. Performance

4. Reference Guide

4.1 Controllers

The Easegress controller is the core entity to control kinds of working. There are two kinds of controllers - system and business.

For the full document, please check - Controller Reference

4.1.1 System Controllers

The following controllers are system level controllers. One and only one instance of them are created in every Easegress node and they can't be deleted.

  • ServiceRegistry - The service hub for all service registries - Consul, Etcd, Eureka, Zookeeper, Nacos...
  • TrafficController - TrafficController handles the lifecycle of HTTPServer and HTTPPipeline and their relationship.
  • RawConfigTrafficController - RawConfigTrafficController maps all traffic static configurations to TrafficController in the namespace default.

4.1.2 Business Controllers

It could be created, updated, deleted by admin operation. They control various resources such as mesh traffic, service discovery, faas, and so on.

4.2 Filters

  • API Aggregator - The API Aggregator forwards one request to multiple API HTTP Pipelines in the same namespace and aggregates responses.
  • Proxy - The Proxy filter is a proxy of backend service.
  • Bridge - The Bridge filter route requests from one pipeline to other pipelines or HTTP proxies under an HTTP server.
  • CORSAdaptor - The CORSAdaptor handles the CORS preflight request for backend service.
  • Fallback - The Fallback filter mocks a response as fallback action of other filters.
  • Mock - The Mock filter mocks responses according to configured rules, mainly for testing purposes.
  • RemoteFilter - The RemoteFilter is a filter making remote service acting as an internal filter.
  • RequestAdaptor - The RequestAdaptor modifies the original request according to configuration.
  • CircuitBreaker - The CircuitBreaker is a finite state machine with three states: CLOSED, OPEN, and HALF_OPEN.
  • RateLimiter - The RateLimiter protects backend service for high availability and reliability by limiting the number of requests sent to the service in a configured duration.
  • TimeLimiter - The TimeLimiter limits the time of requests, a request is canceled if it cannot get a response in configured duration.
  • Retryer - The Retryer retries failed requests according to configured policy.
  • ResponseAdaptor - The ResponseAdaptor modifies the original response according to the configuration before passing it back.
  • Validator - The Validator filter validates requests, forwards valid ones, and rejects invalid ones.
  • WasmHost - The WasmHost filter implements a host environment for user-developed WebAssembly code.