Overview
-
module FantailProvides worker-aware HTTP load balancing with a global admission queue.
-
class BackendRepresents a live backend client and its admission state.
-
module BalanceBuilt-in backend selection policies.
-
class SpreadPrefer the backend with the fewest active requests.
-
class PackPrefer a backend which is already processing the same class of work.
-
-
class ConfigurationImmutable request queue and admission configuration.
-
class BuilderBuilds configurations using the application DSL.
-
-
class Control < Async::Bus::ServerExposes a registry over async-bus for endpoint publication.
-
class EndpointRepresents a named HTTP backend endpoint.
-
class Monitor < Async::Bus::ClientPublishes a desired endpoint set and subsequent deltas to a Fantail registry.
-
class ProxyRoutes HTTP requests through the configured admission queues.
-
class QueueImmutable policy for one class of requests.
-
class BuilderBuilds a queue policy using the configuration DSL.
-
-
class Registry < Async::Bus::ControllerMaintains live backends and notifies the scheduler when capacity changes.
-
class ResponseBody < Protocol::HTTP::Body::WrapperWraps an upstream response body and releases its backend exchange when closed.
-
class SchedulerMatches pending requests to concrete backend permits.
-
class ReservationA reserved processing permit and response exchange.
-
class RejectionA queue admission rejection.
-
-
class ServerRuns the HTTP load balancer and endpoint-control server together.
-