xds: add config for random and maglev load balancer extensions (#23453)
* xds: add config for random and maglev load balancer extensions Signed-off-by: wbpcode <wangbaiping@corp.netease.com> * update extension type to envoy.load_balancing_policies because envoy.clusters is extension type for custom cluster Signed-off-by: wbpcode <wangbaiping@corp.netease.com> Signed-off-by: wbpcode <wangbaiping@corp.netease.com> Mirrored from https://github.com/envoyproxy/envoy @ e4352708f7991872159dd8db12d379d190da1e26pull/626/head
parent
5a16e6b631
commit
227f6dbe97
9 changed files with 77 additions and 4 deletions
@ -0,0 +1,9 @@ |
||||
# DO NOT EDIT. This file is generated by tools/proto_format/proto_sync.py. |
||||
|
||||
load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package") |
||||
|
||||
licenses(["notice"]) # Apache 2 |
||||
|
||||
api_proto_package( |
||||
deps = ["@com_github_cncf_udpa//udpa/annotations:pkg"], |
||||
) |
@ -0,0 +1,29 @@ |
||||
syntax = "proto3"; |
||||
|
||||
package envoy.extensions.load_balancing_policies.maglev.v3; |
||||
|
||||
import "google/protobuf/wrappers.proto"; |
||||
|
||||
import "udpa/annotations/status.proto"; |
||||
import "validate/validate.proto"; |
||||
|
||||
option java_package = "io.envoyproxy.envoy.extensions.load_balancing_policies.maglev.v3"; |
||||
option java_outer_classname = "MaglevProto"; |
||||
option java_multiple_files = true; |
||||
option go_package = "github.com/envoyproxy/go-control-plane/envoy/extensions/load_balancing_policies/maglev/v3;maglevv3"; |
||||
option (udpa.annotations.file_status).package_version_status = ACTIVE; |
||||
|
||||
// [#protodoc-title: Maglev Load Balancing Policy] |
||||
// [#not-implemented-hide:] |
||||
|
||||
// This configuration allows the built-in Maglev LB policy to be configured via the LB policy |
||||
// extension point. See the :ref:`load balancing architecture overview |
||||
// <arch_overview_load_balancing_types>` and :ref:`Maglev<arch_overview_load_balancing_types_maglev>` for more information. |
||||
// [#extension: envoy.load_balancing_policies] |
||||
message Maglev { |
||||
// The table size for Maglev hashing. Maglev aims for "minimal disruption" rather than an absolute guarantee. |
||||
// Minimal disruption means that when the set of upstream hosts change, a connection will likely be sent to the same |
||||
// upstream as it was before. Increasing the table size reduces the amount of disruption. |
||||
// The table size must be prime number limited to 5000011. If it is not specified, the default is 65537. |
||||
google.protobuf.UInt64Value table_size = 1 [(validate.rules).uint64 = {lte: 5000011}]; |
||||
} |
@ -0,0 +1,9 @@ |
||||
# DO NOT EDIT. This file is generated by tools/proto_format/proto_sync.py. |
||||
|
||||
load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package") |
||||
|
||||
licenses(["notice"]) # Apache 2 |
||||
|
||||
api_proto_package( |
||||
deps = ["@com_github_cncf_udpa//udpa/annotations:pkg"], |
||||
) |
@ -0,0 +1,21 @@ |
||||
syntax = "proto3"; |
||||
|
||||
package envoy.extensions.load_balancing_policies.random.v3; |
||||
|
||||
import "udpa/annotations/status.proto"; |
||||
|
||||
option java_package = "io.envoyproxy.envoy.extensions.load_balancing_policies.random.v3"; |
||||
option java_outer_classname = "RandomProto"; |
||||
option java_multiple_files = true; |
||||
option go_package = "github.com/envoyproxy/go-control-plane/envoy/extensions/load_balancing_policies/random/v3;randomv3"; |
||||
option (udpa.annotations.file_status).package_version_status = ACTIVE; |
||||
|
||||
// [#protodoc-title: Random Load Balancing Policy] |
||||
// [#not-implemented-hide:] |
||||
|
||||
// This configuration allows the built-in Random LB policy to be configured via the LB policy |
||||
// extension point. See the :ref:`load balancing architecture overview |
||||
// <arch_overview_load_balancing_types>` for more information. |
||||
// [#extension: envoy.load_balancing_policies] |
||||
message Random { |
||||
} |
Loading…
Reference in new issue