Dynamic Modules Load Balancing Policy (proto)
extensions.load_balancing_policies.dynamic_modules.v3.DynamicModulesLoadBalancerConfig
[extensions.load_balancing_policies.dynamic_modules.v3.DynamicModulesLoadBalancerConfig proto]
Configuration for a load balancing policy implemented via dynamic modules. This enables custom load balancing algorithms to be implemented in dynamic modules (shared libraries loaded at runtime).
The dynamic module must implement the load balancer ABI functions defined in abi.h.
This extension has the qualified name envoy.load_balancing_policies.dynamic_modules
Note
This extension is functional but has not had substantial production burn time, use only with this caveat.
This extension is not hardened and should only be used in deployments where both the downstream and upstream are trusted.
Tip
This extension extends and can be used with the following extension category:
This extension must be configured with one of the following type URLs:
{
"dynamic_module_config": {...},
"lb_policy_name": ...,
"lb_policy_config": {...}
}
- dynamic_module_config
(extensions.dynamic_modules.v3.DynamicModuleConfig, REQUIRED) The dynamic module configuration.
- lb_policy_name
(string, REQUIRED) The name to identify the load balancer implementation within the module. This is passed to the module’s
envoy_dynamic_module_on_lb_config_newfunction.
- lb_policy_config
(Any) The configuration for the module’s load balancer implementation. This is passed to the module’s
envoy_dynamic_module_on_lb_config_newfunction. The configuration can be any protobuf message. However, it is recommended to usegoogle.protobuf.Struct,google.protobuf.StringValue, orgoogle.protobuf.BytesValue. These types are passed directly as bytes to the module, so the module does not need to have knowledge of protobuf encoding. Otherwise, the serialized bytes of the type are passed. If not specified, an empty configuration is passed.