From a9fef3601ca81fdd6798f41f33dad44ffbab30e2 Mon Sep 17 00:00:00 2001 From: Tamara Boehm Date: Wed, 9 Apr 2025 10:43:21 +0200 Subject: [PATCH 01/12] RFC: Hash-based routing --- toc/rfc/rfc-draft-hash-based-routing.md | 152 ++++++++++++++++++ .../ActivityDiagram.drawio.png | Bin 0 -> 144113 bytes .../EndpointRegistration.drawio.png | Bin 0 -> 59553 bytes .../HashRing.drawio.png | Bin 0 -> 16557 bytes 4 files changed, 152 insertions(+) create mode 100644 toc/rfc/rfc-draft-hash-based-routing.md create mode 100644 toc/rfc/rfc-draft-hash-based-routing/ActivityDiagram.drawio.png create mode 100644 toc/rfc/rfc-draft-hash-based-routing/EndpointRegistration.drawio.png create mode 100644 toc/rfc/rfc-draft-hash-based-routing/HashRing.drawio.png diff --git a/toc/rfc/rfc-draft-hash-based-routing.md b/toc/rfc/rfc-draft-hash-based-routing.md new file mode 100644 index 000000000..8d6cb5430 --- /dev/null +++ b/toc/rfc/rfc-draft-hash-based-routing.md @@ -0,0 +1,152 @@ +# Meta +[meta]: #meta +- Name: Hash-based routing +- Start Date: 2025-04-07 +- Author(s): b1tamara, Soha-Albaghdady +- Status: Draft +- RFC Pull Request: (fill in with PR link after you submit it) + + +## Summary + +Cloud Foundry uses round-robin and least-connection algorithms for load balancing between Gorouters and backends. Still, +they are unsuitable for specific use cases, prompting a proposal to introduce hash-based routing on a per-route basis to +enhance load distribution in particular scenarios. + +## Motivation + +Cloud Foundry offers two load balancing algorithms to manage request distribution between Gorouters and backends. The +round-robin algorithm ensures the number of requests is distributed equally across all available backends, and the +least-connection algorithm tries to keep the number of active requests equal across all backends. A recent enhancement +allows these load balancing algorithms to be configured on the application route level. + +However, these existing algorithms are not ideal for scenarios that require routing based on specific identifiers. + +An example scenario: users from different tenants send requests to application instances that establish connections to +tenant-specific databases. With the current load balancing algorithms, each tenant eventually creates a connection to each +application instance, which then creates connection pools to every customer database. As a result, all tenants might span +up a full mesh, leading to too many open connections to the customer databases, impacting performance. This limitation +represents a gap in achieving optimal load distribution and can be solved with routing based on a tenant. + +## Proposal + +We propose introducing hash-based routing as a load balancing algorithm for use on a per-route basis. This algorithm +optimizes load distribution and addresses the issues described in the earlier scenario. + +The approach leverages an HTTP header, which is associated with each incoming request and contains the specific identifier. +This one is used to compute a hash value, which will serve as the basis for routing decisions. + +In the previously mentioned scenario, the tenant ID acts as the identifier included in the header and serves as the basis +for hash calculation. This hash value determines the appropriate application instance for each request, ensuring that +all requests with this identifier are consistently routed to the same instance or might be routed to another instance +when the instance is saturated. Consequently, this load balancing algorithm effectively minimizes database connection +overhead and optimizes connection pooling, enhancing efficiency and system performance. + +### Requirements + +#### Only Application Per-Route Load Balancing +The hash-based load balancing will be configured exclusively as an application per-route option and will not be available as a global setting. + +#### Minimal rehashing over all Gorouter VMs +Rehashing should be minimized, especially when the number of application instances changes over time. + +[Maglev hashing](https://storage.googleapis.com/gweb-research2023-media/pubtools/2904.pdf) can be considered as a possible solution. + +N hashes can be associated with one application instance. The number of hashes is a multiple of the number of application instances. + +#### Considering a balance factor +Before routing a request, the current load on each application instance must be evaluated using a balance factor. This load is measured by the number of in-flight requests. For example, with a balance factor of 150, no application instance should exceed 150% of the average load across all instances. Consequently, requests must be distributed to different application instances that are not overloaded. +Example: + +| Application instance | Current request count | Request count / average load | +|----------------------|------------------------|------------------------------| +| app_instance1 | 10 | 20% | +| app_instance2 | 50 | 100% | +| app_instance3 | 90 | 180% | + +Based on the average load of 50 requests, new requests to app_instance3 must be distributed to different application instances that are not overloaded. + +#### Deterministic handling of overflow traffic to the next application instance +The application instance is considered overloaded when the current request load of this application exceeds the balance factor. Overflow traffic should always be directed to the same next instance rather than to a random one. + +A possible presentation of deterministic handling can be a ring like: + +![](rfc-draft-hash-based-routing/HashRing.drawio.png) + +### Required Changes + +#### Gorouter +- The Gorouter MUST be extended to take a specific identifier via request header +- The Gorouter MUST implement a new `EndpointIterator` to calculate hash, based on the provided header +- The Gorouter MUST consider consistent hashing +- The Gorouter SHOULD locally cache the computed hash values to avoid expensive recalculations for each request for which +hash-based routing should be applied +- The Gorouters SHOULD NOT implement a shared hash cache +- The Gorouter MUST assess the current request load across all application instances mapped to a particular route in order to prevent overload situations +- The Gorouter MUST update its local hash cache following the registration or deregistration of an endpoint, ensuring minimal rehashing + +#### Cloud Controller +- The `loadbalancing` property of the [route object](https://v3-apidocs.cloudfoundry.org/version/3.190.0/index.html#the-route-options-object) MUST be updated to include `hash` as an acceptable value +- The [route object](https://v3-apidocs.cloudfoundry.org/version/3.190.0/index.html#the-route-options-object) MUST +include two new properties, `hash_header` and `hash_balance`, to configure a request header as the hashing key and the balance factor +- The CF API MUST implement the validation of the following requirements: + - The `hash_header` property is mandatory when load balancing is set to hash + - The `hash_balance` property is optional when load balancing is set to hash. Leaving out `hash_balance` means the load situation will not be considered + - To account for overload situations, `hash_balance` values should be greater than 110. During the implementation phase, the values will be evaluated to identify the best fit for the recommended range + - For load balancing algorithms other than hash, the `hash_balance` and `hash_header` properties SHOULD not be set + +An example for manifest with these properties: +```bash +version: 1 +applications: +- name: test + routes: + - route: test.example.com + options: + loadbalancing: hash + hash_header: tenant-id + hash_balance: 125 + - route: anothertest.example.com + options: + loadbalancing: least-connection +``` + +The decision to introduce plain keys was influenced by the following points: +- Simple to use +- It allows for easy addition of more hash-related properties if new requirements arise in the future. +- It complies with the [RFC](https://github.com/cloudfoundry/community/blob/main/toc/rfc/rfc-0027-generic-per-route-features.md#proposal), which states that the map must use strings as keys and can use numbers, strings, and the literals true and false as values + +### No Changes Required + +#### CF cli +The [current implementation of route option](https://github.com/cloudfoundry/cli/blob/main/resources/options_resource.go) +supports the use of `--option KEY=VALUE`, where the key and value are sent directly to CC for validation. Consequently, +the `create-route`, `update-route`, and `map-route` commands require no modifications, as they already accept the proposed properties. +Example: +```bash +cf create-route MY-APP example.com -n test -o loadbalancing=hash -o hash_header=tenant-id -o hash_balance=125 +cf update-route MY-APP example.com -n test -o loadbalancing=hash -o hash_header=tenant-id -o hash_balance=125 +cf update-route MY-APP example.com -n test -o loadbalancing=hash -o hash_header=tenant-id +cf update-route MY-APP example.com -n test -o loadbalancing=hash -o hash_balance=125 +cf map-route MY-APP example.com -n test -o loadbalancing=hash -o hash_header=tenant-id -o hash_balance=125 +``` + +#### BBS +The route object is maintained as a generic JSON object in the BBS, likely because the BBS doesn't use the route +information itself. Therefore, it simply accepts and stores the route options provided by the Cloud Controller. + +#### Route-Emitter +The options are raw JSON and will be passed directly to the Gorouter without any modifications. + +#### Route-Registrar +No use cases are known to implement hash-based routing for the platform-related routes. + +### Diagrams + +#### An activity diagram for routing decision for an incoming request + +![](rfc-draft-hash-based-routing/ActivityDiagram.drawio.png) + +#### A simplified activity diagram for Gorouter's endpoint registration process + +![](rfc-draft-hash-based-routing/EndpointRegistration.drawio.png) diff --git a/toc/rfc/rfc-draft-hash-based-routing/ActivityDiagram.drawio.png b/toc/rfc/rfc-draft-hash-based-routing/ActivityDiagram.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..2388f07f2454f23334ac9c98d4e6cc5983ee0d76 GIT binary patch literal 144113 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%0DV!O@y~ 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 HUC93djz^&& literal 0 HcmV?d00001 diff --git a/toc/rfc/rfc-draft-hash-based-routing/EndpointRegistration.drawio.png b/toc/rfc/rfc-draft-hash-based-routing/EndpointRegistration.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..0b21d9dfe16d835189c1676c99ad947ae0952b4e GIT binary patch literal 59553 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 XP=43_JNHV?G5~?6tDnm{r-UW|u*v$n literal 0 HcmV?d00001 diff --git a/toc/rfc/rfc-draft-hash-based-routing/HashRing.drawio.png b/toc/rfc/rfc-draft-hash-based-routing/HashRing.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..536e8fc408651079485be408b410f437a9c558aa GIT binary patch literal 16557 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 CM6s&? literal 0 HcmV?d00001 From 0ead3aea7c859e8d3166acdf7281e71bf70fb63c Mon Sep 17 00:00:00 2001 From: Tamara Boehm <34028368+b1tamara@users.noreply.github.com> Date: Fri, 27 Jun 2025 12:39:45 +0200 Subject: [PATCH 02/12] Apply suggestions from code review Co-authored-by: Maximilian Moehl <44866320+maxmoehl@users.noreply.github.com> --- toc/rfc/rfc-draft-hash-based-routing.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/toc/rfc/rfc-draft-hash-based-routing.md b/toc/rfc/rfc-draft-hash-based-routing.md index 8d6cb5430..ed3a5913b 100644 --- a/toc/rfc/rfc-draft-hash-based-routing.md +++ b/toc/rfc/rfc-draft-hash-based-routing.md @@ -80,15 +80,15 @@ A possible presentation of deterministic handling can be a ring like: - The Gorouter MUST implement a new `EndpointIterator` to calculate hash, based on the provided header - The Gorouter MUST consider consistent hashing - The Gorouter SHOULD locally cache the computed hash values to avoid expensive recalculations for each request for which -hash-based routing should be applied -- The Gorouters SHOULD NOT implement a shared hash cache + hash-based routing should be applied +- Gorouters SHOULD NOT implement a shared hash cache across instances in the same deployment - The Gorouter MUST assess the current request load across all application instances mapped to a particular route in order to prevent overload situations -- The Gorouter MUST update its local hash cache following the registration or deregistration of an endpoint, ensuring minimal rehashing +- The Gorouter MUST update its local hash table following the registration or deregistration of an endpoint, ensuring minimal rehashing #### Cloud Controller - The `loadbalancing` property of the [route object](https://v3-apidocs.cloudfoundry.org/version/3.190.0/index.html#the-route-options-object) MUST be updated to include `hash` as an acceptable value -- The [route object](https://v3-apidocs.cloudfoundry.org/version/3.190.0/index.html#the-route-options-object) MUST -include two new properties, `hash_header` and `hash_balance`, to configure a request header as the hashing key and the balance factor +- The [route options object](https://v3-apidocs.cloudfoundry.org/version/3.190.0/index.html#the-route-options-object) MUST + include two new properties, `hash_header` and `hash_balance`, to configure a request header as the hashing key and the balance factor - The CF API MUST implement the validation of the following requirements: - The `hash_header` property is mandatory when load balancing is set to hash - The `hash_balance` property is optional when load balancing is set to hash. Leaving out `hash_balance` means the load situation will not be considered @@ -96,7 +96,7 @@ include two new properties, `hash_header` and `hash_balance`, to configure a req - For load balancing algorithms other than hash, the `hash_balance` and `hash_header` properties SHOULD not be set An example for manifest with these properties: -```bash +```yaml version: 1 applications: - name: test From 1c0e32bcd71d798fc09a39a3eda57f05918e0e2c Mon Sep 17 00:00:00 2001 From: Tamara Boehm Date: Fri, 27 Jun 2025 12:42:28 +0200 Subject: [PATCH 03/12] Reformat RFC --- toc/rfc/rfc-draft-hash-based-routing.md | 163 ++++++++++++++---------- 1 file changed, 98 insertions(+), 65 deletions(-) diff --git a/toc/rfc/rfc-draft-hash-based-routing.md b/toc/rfc/rfc-draft-hash-based-routing.md index ed3a5913b..701185c76 100644 --- a/toc/rfc/rfc-draft-hash-based-routing.md +++ b/toc/rfc/rfc-draft-hash-based-routing.md @@ -1,73 +1,86 @@ # Meta + [meta]: #meta + - Name: Hash-based routing - Start Date: 2025-04-07 - Author(s): b1tamara, Soha-Albaghdady - Status: Draft - RFC Pull Request: (fill in with PR link after you submit it) - ## Summary -Cloud Foundry uses round-robin and least-connection algorithms for load balancing between Gorouters and backends. Still, -they are unsuitable for specific use cases, prompting a proposal to introduce hash-based routing on a per-route basis to +Cloud Foundry uses round-robin and least-connection algorithms for load balancing between Gorouters and backends. Still, +they are unsuitable for specific use cases, prompting a proposal to introduce hash-based routing on a per-route basis to enhance load distribution in particular scenarios. ## Motivation -Cloud Foundry offers two load balancing algorithms to manage request distribution between Gorouters and backends. The -round-robin algorithm ensures the number of requests is distributed equally across all available backends, and the -least-connection algorithm tries to keep the number of active requests equal across all backends. A recent enhancement +Cloud Foundry offers two load balancing algorithms to manage request distribution between Gorouters and backends. The +round-robin algorithm ensures the number of requests is distributed equally across all available backends, and the +least-connection algorithm tries to keep the number of active requests equal across all backends. A recent enhancement allows these load balancing algorithms to be configured on the application route level. However, these existing algorithms are not ideal for scenarios that require routing based on specific identifiers. -An example scenario: users from different tenants send requests to application instances that establish connections to -tenant-specific databases. With the current load balancing algorithms, each tenant eventually creates a connection to each -application instance, which then creates connection pools to every customer database. As a result, all tenants might span -up a full mesh, leading to too many open connections to the customer databases, impacting performance. This limitation -represents a gap in achieving optimal load distribution and can be solved with routing based on a tenant. +An example scenario: users from different tenants send requests to application instances that establish connections to +tenant-specific databases. With the current load balancing algorithms, each tenant eventually creates a connection to +each application instance, which then creates connection pools to every customer database. As a result, all tenants +might span up a full mesh, leading to too many open connections to the customer databases, impacting performance. This +limitation represents a gap in achieving optimal load distribution and can be solved with routing based on a tenant. ## Proposal -We propose introducing hash-based routing as a load balancing algorithm for use on a per-route basis. This algorithm +We propose introducing hash-based routing as a load balancing algorithm for use on a per-route basis. This algorithm optimizes load distribution and addresses the issues described in the earlier scenario. -The approach leverages an HTTP header, which is associated with each incoming request and contains the specific identifier. -This one is used to compute a hash value, which will serve as the basis for routing decisions. +The approach leverages an HTTP header, which is associated with each incoming request and contains the specific +identifier. This one is used to compute a hash value, which will serve as the basis for routing decisions. -In the previously mentioned scenario, the tenant ID acts as the identifier included in the header and serves as the basis -for hash calculation. This hash value determines the appropriate application instance for each request, ensuring that -all requests with this identifier are consistently routed to the same instance or might be routed to another instance -when the instance is saturated. Consequently, this load balancing algorithm effectively minimizes database connection -overhead and optimizes connection pooling, enhancing efficiency and system performance. +In the previously mentioned scenario, the tenant ID acts as the identifier included in the header and serves as the +basis for hash calculation. This hash value determines the appropriate application instance for each request, ensuring +that all requests with this identifier are consistently routed to the same instance or might be routed to another +instance when the instance is saturated. Consequently, this load balancing algorithm effectively minimizes database +connection overhead and optimizes connection pooling, enhancing efficiency and system performance. ### Requirements #### Only Application Per-Route Load Balancing -The hash-based load balancing will be configured exclusively as an application per-route option and will not be available as a global setting. + +The hash-based load balancing will be configured exclusively as an application per-route option and will not be +available as a global setting. #### Minimal rehashing over all Gorouter VMs + Rehashing should be minimized, especially when the number of application instances changes over time. -[Maglev hashing](https://storage.googleapis.com/gweb-research2023-media/pubtools/2904.pdf) can be considered as a possible solution. +[Maglev hashing](https://storage.googleapis.com/gweb-research2023-media/pubtools/2904.pdf) can be considered as a +possible solution. -N hashes can be associated with one application instance. The number of hashes is a multiple of the number of application instances. +N hashes can be associated with one application instance. The number of hashes is a multiple of the number of +application instances. #### Considering a balance factor -Before routing a request, the current load on each application instance must be evaluated using a balance factor. This load is measured by the number of in-flight requests. For example, with a balance factor of 150, no application instance should exceed 150% of the average load across all instances. Consequently, requests must be distributed to different application instances that are not overloaded. + +Before routing a request, the current load on each application instance must be evaluated using a balance factor. This +load is measured by the number of in-flight requests. For example, with a balance factor of 150, no application instance +should exceed 150% of the average load across all instances. Consequently, requests must be distributed to different +application instances that are not overloaded. Example: -| Application instance | Current request count | Request count / average load | -|----------------------|------------------------|------------------------------| -| app_instance1 | 10 | 20% | -| app_instance2 | 50 | 100% | -| app_instance3 | 90 | 180% | +| Application instance | Current request count | Request count / average load | +|----------------------|-----------------------|------------------------------| +| app_instance1 | 10 | 20% | +| app_instance2 | 50 | 100% | +| app_instance3 | 90 | 180% | -Based on the average load of 50 requests, new requests to app_instance3 must be distributed to different application instances that are not overloaded. +Based on the average load of 50 requests, new requests to app_instance3 must be distributed to different application +instances that are not overloaded. #### Deterministic handling of overflow traffic to the next application instance -The application instance is considered overloaded when the current request load of this application exceeds the balance factor. Overflow traffic should always be directed to the same next instance rather than to a random one. + +The application instance is considered overloaded when the current request load of this application exceeds the balance +factor. Overflow traffic should always be directed to the same next instance rather than to a random one. A possible presentation of deterministic handling can be a ring like: @@ -76,53 +89,70 @@ A possible presentation of deterministic handling can be a ring like: ### Required Changes #### Gorouter -- The Gorouter MUST be extended to take a specific identifier via request header -- The Gorouter MUST implement a new `EndpointIterator` to calculate hash, based on the provided header -- The Gorouter MUST consider consistent hashing -- The Gorouter SHOULD locally cache the computed hash values to avoid expensive recalculations for each request for which - hash-based routing should be applied + +- The Gorouter MUST be extended to take a specific identifier via the request header +- The Gorouter MUST implement hash calculation, based on the provided header +- The Gorouter MUST consider consistent hashing +- The Gorouter SHOULD locally cache the computed hash values to avoid expensive recalculations for each request for + which hash-based routing should be applied - Gorouters SHOULD NOT implement a shared hash cache across instances in the same deployment -- The Gorouter MUST assess the current request load across all application instances mapped to a particular route in order to prevent overload situations -- The Gorouter MUST update its local hash table following the registration or deregistration of an endpoint, ensuring minimal rehashing +- The Gorouter MUST assess the current request load across all application instances mapped to a particular route in + order to prevent overload situations +- The Gorouter MUST update its local hash table following the registration or deregistration of an endpoint, ensuring + minimal rehashing #### Cloud Controller -- The `loadbalancing` property of the [route object](https://v3-apidocs.cloudfoundry.org/version/3.190.0/index.html#the-route-options-object) MUST be updated to include `hash` as an acceptable value -- The [route options object](https://v3-apidocs.cloudfoundry.org/version/3.190.0/index.html#the-route-options-object) MUST - include two new properties, `hash_header` and `hash_balance`, to configure a request header as the hashing key and the balance factor -- The CF API MUST implement the validation of the following requirements: - - The `hash_header` property is mandatory when load balancing is set to hash - - The `hash_balance` property is optional when load balancing is set to hash. Leaving out `hash_balance` means the load situation will not be considered - - To account for overload situations, `hash_balance` values should be greater than 110. During the implementation phase, the values will be evaluated to identify the best fit for the recommended range - - For load balancing algorithms other than hash, the `hash_balance` and `hash_header` properties SHOULD not be set - -An example for manifest with these properties: + +- The `loadbalancing` property of + the [route object](https://v3-apidocs.cloudfoundry.org/version/3.190.0/index.html#the-route-options-object) MUST be + updated to include `hash` as an acceptable value +- The [route options object](https://v3-apidocs.cloudfoundry.org/version/3.190.0/index.html#the-route-options-object) + MUST include two new properties, `hash_header` and `hash_balance`, to configure a request header as the hashing key + and the balance factor +- It MUST implement the validation of the following requirements: + - The `hash_header` property is mandatory when load balancing is set to hash + - The `hash_balance` property is optional when load balancing is set to hash. Leaving out `hash_balance` means the + load situation will not be considered + - To account for overload situations, `hash_balance` values should be greater than 110. During the implementation + phase, the values will be evaluated to identify the best fit for the recommended range + - For load balancing algorithms other than hash, the `hash_balance` and `hash_header` properties MUST not be set + +An example for manifest with these properties: + ```yaml version: 1 applications: -- name: test - routes: - - route: test.example.com - options: - loadbalancing: hash - hash_header: tenant-id - hash_balance: 125 - - route: anothertest.example.com - options: - loadbalancing: least-connection + - name: test + routes: + - route: test.example.com + options: + loadbalancing: hash + hash_header: tenant-id + hash_balance: 125 + - route: anothertest.example.com + options: + loadbalancing: least-connection ``` The decision to introduce plain keys was influenced by the following points: + - Simple to use -- It allows for easy addition of more hash-related properties if new requirements arise in the future. -- It complies with the [RFC](https://github.com/cloudfoundry/community/blob/main/toc/rfc/rfc-0027-generic-per-route-features.md#proposal), which states that the map must use strings as keys and can use numbers, strings, and the literals true and false as values +- It allows for easy addition of more load-balancing-related properties if new requirements arise in the future +- It complies with + the [RFC](https://github.com/cloudfoundry/community/blob/main/toc/rfc/rfc-0027-generic-per-route-features.md#proposal), + which states that the map must use strings as keys and can use numbers, strings, and the literals true and false as + values ### No Changes Required #### CF cli -The [current implementation of route option](https://github.com/cloudfoundry/cli/blob/main/resources/options_resource.go) -supports the use of `--option KEY=VALUE`, where the key and value are sent directly to CC for validation. Consequently, -the `create-route`, `update-route`, and `map-route` commands require no modifications, as they already accept the proposed properties. -Example: + +The [current implementation of route option](https://github.com/cloudfoundry/cli/blob/main/resources/options_resource.go) +supports the use of `--option KEY=VALUE`, where the key and value are sent directly to CC for validation. Consequently, +the `create-route`, `update-route`, and `map-route` commands require no modifications, as they already accept the +proposed properties. +Example: + ```bash cf create-route MY-APP example.com -n test -o loadbalancing=hash -o hash_header=tenant-id -o hash_balance=125 cf update-route MY-APP example.com -n test -o loadbalancing=hash -o hash_header=tenant-id -o hash_balance=125 @@ -132,14 +162,17 @@ cf map-route MY-APP example.com -n test -o loadbalancing=hash -o hash_header=ten ``` #### BBS -The route object is maintained as a generic JSON object in the BBS, likely because the BBS doesn't use the route + +The route object is maintained as a generic JSON object in the BBS, likely because the BBS doesn't use the route information itself. Therefore, it simply accepts and stores the route options provided by the Cloud Controller. #### Route-Emitter + The options are raw JSON and will be passed directly to the Gorouter without any modifications. #### Route-Registrar -No use cases are known to implement hash-based routing for the platform-related routes. + +No use cases are known to implement hash-based routing for the platform-related routes. ### Diagrams From d996092b907ae04b013c0d3225281c80828ee07d Mon Sep 17 00:00:00 2001 From: Tamara Boehm Date: Mon, 30 Jun 2025 10:17:02 +0200 Subject: [PATCH 04/12] Apply review feedback --- toc/rfc/rfc-draft-hash-based-routing.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/toc/rfc/rfc-draft-hash-based-routing.md b/toc/rfc/rfc-draft-hash-based-routing.md index 701185c76..dff223d04 100644 --- a/toc/rfc/rfc-draft-hash-based-routing.md +++ b/toc/rfc/rfc-draft-hash-based-routing.md @@ -27,12 +27,13 @@ An example scenario: users from different tenants send requests to application i tenant-specific databases. With the current load balancing algorithms, each tenant eventually creates a connection to each application instance, which then creates connection pools to every customer database. As a result, all tenants might span up a full mesh, leading to too many open connections to the customer databases, impacting performance. This -limitation represents a gap in achieving optimal load distribution and can be solved with routing based on a tenant. +limitation highlights a gap in achieving efficient load distribution, particularly when dealing with limited or +memory-intensive resources in backend services, and can be addressed through hash-based routing. ## Proposal -We propose introducing hash-based routing as a load balancing algorithm for use on a per-route basis. This algorithm -optimizes load distribution and addresses the issues described in the earlier scenario. +We propose introducing hash-based routing as a load balancing algorithm for use on a per-route basis to address the +issues described in the earlier scenario. The approach leverages an HTTP header, which is associated with each incoming request and contains the specific identifier. This one is used to compute a hash value, which will serve as the basis for routing decisions. @@ -172,7 +173,7 @@ The options are raw JSON and will be passed directly to the Gorouter without any #### Route-Registrar -No use cases are known to implement hash-based routing for the platform-related routes. +In the scope of this RFC, it is not planned to implement hash-based routing in route-registrar for platform-routes. ### Diagrams From 459b7e6094b94036d1188e9fca5edb8f4e61d7aa Mon Sep 17 00:00:00 2001 From: Tamara Boehm <34028368+b1tamara@users.noreply.github.com> Date: Mon, 30 Jun 2025 13:22:01 +0200 Subject: [PATCH 05/12] Apply suggestions from code review Co-authored-by: Alexander Lais --- toc/rfc/rfc-draft-hash-based-routing.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toc/rfc/rfc-draft-hash-based-routing.md b/toc/rfc/rfc-draft-hash-based-routing.md index dff223d04..e2321ac81 100644 --- a/toc/rfc/rfc-draft-hash-based-routing.md +++ b/toc/rfc/rfc-draft-hash-based-routing.md @@ -144,11 +144,11 @@ The decision to introduce plain keys was influenced by the following points: which states that the map must use strings as keys and can use numbers, strings, and the literals true and false as values -### No Changes Required +### Components Where No Changes Are Required #### CF cli -The [current implementation of route option](https://github.com/cloudfoundry/cli/blob/main/resources/options_resource.go) +The [current implementation of route option in the CF CLI](https://github.com/cloudfoundry/cli/blob/main/resources/options_resource.go) supports the use of `--option KEY=VALUE`, where the key and value are sent directly to CC for validation. Consequently, the `create-route`, `update-route`, and `map-route` commands require no modifications, as they already accept the proposed properties. From b23adde99b70991f917222a9c50487a88a5b7498 Mon Sep 17 00:00:00 2001 From: Tamara Boehm Date: Mon, 30 Jun 2025 13:22:52 +0200 Subject: [PATCH 06/12] Small enhancements --- toc/rfc/rfc-draft-hash-based-routing.md | 4 ++-- .../EndpointRegistration.drawio.png | Bin 59553 -> 60973 bytes 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/toc/rfc/rfc-draft-hash-based-routing.md b/toc/rfc/rfc-draft-hash-based-routing.md index e2321ac81..3303e6786 100644 --- a/toc/rfc/rfc-draft-hash-based-routing.md +++ b/toc/rfc/rfc-draft-hash-based-routing.md @@ -96,7 +96,7 @@ A possible presentation of deterministic handling can be a ring like: - The Gorouter MUST consider consistent hashing - The Gorouter SHOULD locally cache the computed hash values to avoid expensive recalculations for each request for which hash-based routing should be applied -- Gorouters SHOULD NOT implement a shared hash cache across instances in the same deployment +- Gorouters SHOULD NOT implement a distributed shared cache across instances in the same deployment - The Gorouter MUST assess the current request load across all application instances mapped to a particular route in order to prevent overload situations - The Gorouter MUST update its local hash table following the registration or deregistration of an endpoint, ensuring @@ -140,7 +140,7 @@ The decision to introduce plain keys was influenced by the following points: - Simple to use - It allows for easy addition of more load-balancing-related properties if new requirements arise in the future - It complies with - the [RFC](https://github.com/cloudfoundry/community/blob/main/toc/rfc/rfc-0027-generic-per-route-features.md#proposal), + the [RFC #0027 that introduced per-route options](https://github.com/cloudfoundry/community/blob/main/toc/rfc/rfc-0027-generic-per-route-features.md#proposal), which states that the map must use strings as keys and can use numbers, strings, and the literals true and false as values diff --git a/toc/rfc/rfc-draft-hash-based-routing/EndpointRegistration.drawio.png b/toc/rfc/rfc-draft-hash-based-routing/EndpointRegistration.drawio.png index 0b21d9dfe16d835189c1676c99ad947ae0952b4e..9d4adb5bfb21d136b16cede63782f36c95832c80 100644 GIT binary patch literal 60973 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 XP=43_JNHV?G5~?6tDnm{r-UW|u*v$n From f7d649fb8fde58136a39926c9262d89af94d8f91 Mon Sep 17 00:00:00 2001 From: Tamara Boehm Date: Tue, 1 Jul 2025 12:11:31 +0200 Subject: [PATCH 07/12] Rephrased version --- toc/rfc/rfc-draft-hash-based-routing.md | 61 +++++++++++++------------ 1 file changed, 32 insertions(+), 29 deletions(-) diff --git a/toc/rfc/rfc-draft-hash-based-routing.md b/toc/rfc/rfc-draft-hash-based-routing.md index 3303e6786..03fc9a56d 100644 --- a/toc/rfc/rfc-draft-hash-based-routing.md +++ b/toc/rfc/rfc-draft-hash-based-routing.md @@ -2,7 +2,7 @@ [meta]: #meta -- Name: Hash-based routing +- Name: Implementing a Hash-Based Load Balancing Algorithm for Cloud Foundry (CF) Routing - Start Date: 2025-04-07 - Author(s): b1tamara, Soha-Albaghdady - Status: Draft @@ -10,9 +10,12 @@ ## Summary -Cloud Foundry uses round-robin and least-connection algorithms for load balancing between Gorouters and backends. Still, -they are unsuitable for specific use cases, prompting a proposal to introduce hash-based routing on a per-route basis to -enhance load distribution in particular scenarios. +Cloud Foundry uses round-robin and least-connection algorithms for load balancing between Gorouters and backends. While +effective in many scenarios, these algorithms may not be ideal for certain use cases. Therefore, there is a proposal to +introduce a hash-based routing on a per-route basis. +The hash-based load balancing algorithm uses the hash of a request header to make routing decisions, focusing on +distributing users across instances rather than individual requests, thereby improving load balancing in specific +scenarios. ## Motivation @@ -41,15 +44,17 @@ identifier. This one is used to compute a hash value, which will serve as the ba In the previously mentioned scenario, the tenant ID acts as the identifier included in the header and serves as the basis for hash calculation. This hash value determines the appropriate application instance for each request, ensuring that all requests with this identifier are consistently routed to the same instance or might be routed to another -instance when the instance is saturated. Consequently, this load balancing algorithm effectively minimizes database -connection overhead and optimizes connection pooling, enhancing efficiency and system performance. +instance when the instance is saturated. Consequently, the load balancing algorithm effectively directs requests for a +single tenant to a particular application instance, so that instance can minimize database connection overhead and +optimize connection pooling, enhancing efficiency and system performance. ### Requirements #### Only Application Per-Route Load Balancing -The hash-based load balancing will be configured exclusively as an application per-route option and will not be -available as a global setting. +Hash-based load balancing solves a particular load pattern, rather than serving as a general-purpose load balancing +algorithm. Consequently, it will be configured exclusively as a per-route option for applications and will not be +offered as a global setting. #### Minimal rehashing over all Gorouter VMs @@ -63,20 +68,21 @@ application instances. #### Considering a balance factor -Before routing a request, the current load on each application instance must be evaluated using a balance factor. This -load is measured by the number of in-flight requests. For example, with a balance factor of 150, no application instance -should exceed 150% of the average load across all instances. Consequently, requests must be distributed to different -application instances that are not overloaded. +Before routing a request, the current load on each application instance must be evaluated using a balance factor. The +number of in-flight requests measures this load. For example, with a balance factor of 150, no application instance +should exceed 150% of the average number of in-flight requests across all application instances. Consequently, requests +must be distributed to different application instances that are not overloaded. + Example: -| Application instance | Current request count | Request count / average load | -|----------------------|-----------------------|------------------------------| -| app_instance1 | 10 | 20% | -| app_instance2 | 50 | 100% | -| app_instance3 | 90 | 180% | +| Application instance | Current request count | Request count / average number of in-flight requests | +|----------------------|-----------------------|------------------------------------------------------| +| app_instance1 | 10 | 20% | +| app_instance2 | 50 | 100% | +| app_instance3 | 90 | 180% | -Based on the average load of 50 requests, new requests to app_instance3 must be distributed to different application -instances that are not overloaded. +Based on the average number of 50 requests, the current request count to app_instance3 exceeds the balance factor. As a +result, new requests to app_instance3 must be distributed to different application instances. #### Deterministic handling of overflow traffic to the next application instance @@ -94,14 +100,16 @@ A possible presentation of deterministic handling can be a ring like: - The Gorouter MUST be extended to take a specific identifier via the request header - The Gorouter MUST implement hash calculation, based on the provided header - The Gorouter MUST consider consistent hashing -- The Gorouter SHOULD locally cache the computed hash values to avoid expensive recalculations for each request for - which hash-based routing should be applied -- Gorouters SHOULD NOT implement a distributed shared cache across instances in the same deployment -- The Gorouter MUST assess the current request load across all application instances mapped to a particular route in - order to prevent overload situations +- The Gorouter SHOULD store the mapping between computed hash values and application instances locally to avoid + expensive recalculations for each incoming request +- Gorouters SHOULD NOT implement a distributed shared cache +- The Gorouter MUST assess the current number of in-flight requests across all application instances mapped to a + particular route to consider overload situations - The Gorouter MUST update its local hash table following the registration or deregistration of an endpoint, ensuring minimal rehashing +For a detailed understanding of the workflows on Gorouter's side, please refer to the [activity diagrams](#diagrams). + #### Cloud Controller - The `loadbalancing` property of @@ -162,11 +170,6 @@ cf update-route MY-APP example.com -n test -o loadbalancing=hash -o hash_balance cf map-route MY-APP example.com -n test -o loadbalancing=hash -o hash_header=tenant-id -o hash_balance=125 ``` -#### BBS - -The route object is maintained as a generic JSON object in the BBS, likely because the BBS doesn't use the route -information itself. Therefore, it simply accepts and stores the route options provided by the Cloud Controller. - #### Route-Emitter The options are raw JSON and will be passed directly to the Gorouter without any modifications. From 7f7c92648b7c367c368ecd474ee87e27e7b78019 Mon Sep 17 00:00:00 2001 From: Tamara Boehm <34028368+b1tamara@users.noreply.github.com> Date: Wed, 2 Jul 2025 08:42:16 +0200 Subject: [PATCH 08/12] Apply suggestions from code review Co-authored-by: Patrick Lowin --- toc/rfc/rfc-draft-hash-based-routing.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/toc/rfc/rfc-draft-hash-based-routing.md b/toc/rfc/rfc-draft-hash-based-routing.md index 03fc9a56d..3133e2896 100644 --- a/toc/rfc/rfc-draft-hash-based-routing.md +++ b/toc/rfc/rfc-draft-hash-based-routing.md @@ -2,16 +2,16 @@ [meta]: #meta -- Name: Implementing a Hash-Based Load Balancing Algorithm for Cloud Foundry (CF) Routing +- Name: Implementing a Hash-Based Load Balancing Algorithm for CF Routing - Start Date: 2025-04-07 - Author(s): b1tamara, Soha-Albaghdady - Status: Draft -- RFC Pull Request: (fill in with PR link after you submit it) +- RFC Pull Request: https://github.com/cloudfoundry/community/pull/1222 ## Summary Cloud Foundry uses round-robin and least-connection algorithms for load balancing between Gorouters and backends. While -effective in many scenarios, these algorithms may not be ideal for certain use cases. Therefore, there is a proposal to +effective in many scenarios, these algorithms may not be ideal for certain use cases. Therefore, this RFC proposes to introduce a hash-based routing on a per-route basis. The hash-based load balancing algorithm uses the hash of a request header to make routing decisions, focusing on distributing users across instances rather than individual requests, thereby improving load balancing in specific @@ -154,7 +154,7 @@ The decision to introduce plain keys was influenced by the following points: ### Components Where No Changes Are Required -#### CF cli +#### CF CLI The [current implementation of route option in the CF CLI](https://github.com/cloudfoundry/cli/blob/main/resources/options_resource.go) supports the use of `--option KEY=VALUE`, where the key and value are sent directly to CC for validation. Consequently, From 9924541185b8c6746a46334890c898380bfa4e5b Mon Sep 17 00:00:00 2001 From: Tamara Boehm Date: Wed, 2 Jul 2025 11:44:08 +0200 Subject: [PATCH 09/12] Add more about minimal rehashing --- toc/rfc/rfc-draft-hash-based-routing.md | 30 ++++++++++++++++++++----- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/toc/rfc/rfc-draft-hash-based-routing.md b/toc/rfc/rfc-draft-hash-based-routing.md index 3133e2896..1ef6d6853 100644 --- a/toc/rfc/rfc-draft-hash-based-routing.md +++ b/toc/rfc/rfc-draft-hash-based-routing.md @@ -31,7 +31,9 @@ tenant-specific databases. With the current load balancing algorithms, each tena each application instance, which then creates connection pools to every customer database. As a result, all tenants might span up a full mesh, leading to too many open connections to the customer databases, impacting performance. This limitation highlights a gap in achieving efficient load distribution, particularly when dealing with limited or -memory-intensive resources in backend services, and can be addressed through hash-based routing. +memory-intensive resources in backend services, and can be addressed through hash-based routing. In short, hash-based +routing is an algorithm that facilitates the distribution of requests to application instances by using a stable hash +derived from request identifiers, such as headers ## Proposal @@ -60,11 +62,28 @@ offered as a global setting. Rehashing should be minimized, especially when the number of application instances changes over time. -[Maglev hashing](https://storage.googleapis.com/gweb-research2023-media/pubtools/2904.pdf) can be considered as a -possible solution. +For the scenario where a new application instance (e.g. app_instance3) is deployed, Gorouter updates the mapping so that +it maps part of the hashes to the new instance. + +| Hash | Application instance(s) before | Application instance(s) after a new instance added | +|-------|--------------------------------|----------------------------------------------------| +| Hash1 | app_instance1 | app_instance1 | +| Hash2 | app_instance1 | app_instance3 | +| Hash3 | app_instance2 | app_instance2 | +| ... | ... | ... | +| HashN | app_instance2 | app_instance3 | + +For the scenario that the application has been scaled down, Gorouter updates the mapping immediately after routes +update, so that it remaps hashes associated with the app_instance3: + +| Hash | Application instance(s) before | Application instance(s) after the app_instance_3 removed | +|-------|--------------------------------|----------------------------------------------------------| +| Hash1 | app_instance1 | app_instance1 | +| Hash2 | app_instance3 | app_instance1 | +| Hash3 | app_instance2 | app_instance2 | +| ... | ... | ... | +| HashN | app_instance3 | app_instance2 | -N hashes can be associated with one application instance. The number of hashes is a multiple of the number of -application instances. #### Considering a balance factor @@ -99,7 +118,6 @@ A possible presentation of deterministic handling can be a ring like: - The Gorouter MUST be extended to take a specific identifier via the request header - The Gorouter MUST implement hash calculation, based on the provided header -- The Gorouter MUST consider consistent hashing - The Gorouter SHOULD store the mapping between computed hash values and application instances locally to avoid expensive recalculations for each incoming request - Gorouters SHOULD NOT implement a distributed shared cache From 816fe0b77b93cc014880bd60f5a8939f36557dd6 Mon Sep 17 00:00:00 2001 From: Tamara Boehm Date: Thu, 3 Jul 2025 14:06:49 +0200 Subject: [PATCH 10/12] Update diagrams --- toc/rfc/rfc-draft-hash-based-routing.md | 8 ++++++-- .../ActivityDiagram.drawio.png | Bin 144113 -> 118851 bytes .../problem.drawio.png | Bin 0 -> 71933 bytes 3 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 toc/rfc/rfc-draft-hash-based-routing/problem.drawio.png diff --git a/toc/rfc/rfc-draft-hash-based-routing.md b/toc/rfc/rfc-draft-hash-based-routing.md index 1ef6d6853..b43b85114 100644 --- a/toc/rfc/rfc-draft-hash-based-routing.md +++ b/toc/rfc/rfc-draft-hash-based-routing.md @@ -27,13 +27,17 @@ allows these load balancing algorithms to be configured on the application route However, these existing algorithms are not ideal for scenarios that require routing based on specific identifiers. An example scenario: users from different tenants send requests to application instances that establish connections to -tenant-specific databases. With the current load balancing algorithms, each tenant eventually creates a connection to +tenant-specific databases. + +![](rfc-draft-hash-based-routing/problem.drawio.png) + +With the current load balancing algorithms, each tenant eventually creates a connection to each application instance, which then creates connection pools to every customer database. As a result, all tenants might span up a full mesh, leading to too many open connections to the customer databases, impacting performance. This limitation highlights a gap in achieving efficient load distribution, particularly when dealing with limited or memory-intensive resources in backend services, and can be addressed through hash-based routing. In short, hash-based routing is an algorithm that facilitates the distribution of requests to application instances by using a stable hash -derived from request identifiers, such as headers +derived from request identifiers, such as headers. ## Proposal diff --git a/toc/rfc/rfc-draft-hash-based-routing/ActivityDiagram.drawio.png b/toc/rfc/rfc-draft-hash-based-routing/ActivityDiagram.drawio.png index 2388f07f2454f23334ac9c98d4e6cc5983ee0d76..208812087124ee01abc27c7084a7db4d0f2e0528 100644 GIT binary patch literal 118851 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

+z^q1t?!cl2>3Ma&k*HaW~ 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%0A+4Sa-ovpbaSl^a1Sz)7Q9<>Wh$rK8=?U}Hu2 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%0DV!Q&(Vs4#ttklF6w8uxkyn_QQcwfN_thMmtI*J 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 SElDW&r>(B1_F%u=>Hh(!ov=6n literal 144113 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%0DV!O@y~ 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 HUC93djz^&& diff --git a/toc/rfc/rfc-draft-hash-based-routing/problem.drawio.png b/toc/rfc/rfc-draft-hash-based-routing/problem.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..307c321bbd7bf00d5cbd8df5b712795a864a2453 GIT binary patch literal 71933 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 Date: Thu, 3 Jul 2025 17:00:44 +0200 Subject: [PATCH 11/12] Minor rephrasing --- toc/rfc/rfc-draft-hash-based-routing.md | 32 ++++++++++++------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/toc/rfc/rfc-draft-hash-based-routing.md b/toc/rfc/rfc-draft-hash-based-routing.md index b43b85114..7c0b09436 100644 --- a/toc/rfc/rfc-draft-hash-based-routing.md +++ b/toc/rfc/rfc-draft-hash-based-routing.md @@ -66,8 +66,8 @@ offered as a global setting. Rehashing should be minimized, especially when the number of application instances changes over time. -For the scenario where a new application instance (e.g. app_instance3) is deployed, Gorouter updates the mapping so that -it maps part of the hashes to the new instance. +For the scenario when a new application instance (e.g. app_instance3) is added, Gorouter updates the mapping so that it +maps part of the hashes to the new instance. | Hash | Application instance(s) before | Application instance(s) after a new instance added | |-------|--------------------------------|----------------------------------------------------| @@ -77,8 +77,8 @@ it maps part of the hashes to the new instance. | ... | ... | ... | | HashN | app_instance2 | app_instance3 | -For the scenario that the application has been scaled down, Gorouter updates the mapping immediately after routes -update, so that it remaps hashes associated with the app_instance3: +For the scenario when the application is scaled down, Gorouter updates the mapping immediately after routes update, so +that it remaps hashes associated with the app_instance3: | Hash | Application instance(s) before | Application instance(s) after the app_instance_3 removed | |-------|--------------------------------|----------------------------------------------------------| @@ -91,18 +91,18 @@ update, so that it remaps hashes associated with the app_instance3: #### Considering a balance factor -Before routing a request, the current load on each application instance must be evaluated using a balance factor. The -number of in-flight requests measures this load. For example, with a balance factor of 150, no application instance +Before routing a request, the current load on each application instance must be evaluated using a balance factor. This +load is measured by the number of in-flight requests. For example, with a balance factor of 150, no application instance should exceed 150% of the average number of in-flight requests across all application instances. Consequently, requests must be distributed to different application instances that are not overloaded. Example: -| Application instance | Current request count | Request count / average number of in-flight requests | -|----------------------|-----------------------|------------------------------------------------------| -| app_instance1 | 10 | 20% | -| app_instance2 | 50 | 100% | -| app_instance3 | 90 | 180% | +| Application instance | Current request count | Current request count / Average number of in-flight requests | +|----------------------|-----------------------|--------------------------------------------------------------| +| app_instance1 | 10 | 20% | +| app_instance2 | 50 | 100% | +| app_instance3 | 90 | 180% | Based on the average number of 50 requests, the current request count to app_instance3 exceeds the balance factor. As a result, new requests to app_instance3 must be distributed to different application instances. @@ -120,14 +120,14 @@ A possible presentation of deterministic handling can be a ring like: #### Gorouter -- The Gorouter MUST be extended to take a specific identifier via the request header -- The Gorouter MUST implement hash calculation, based on the provided header -- The Gorouter SHOULD store the mapping between computed hash values and application instances locally to avoid +- Gorouter MUST be extended to take a specific identifier via the request header +- Gorouter MUST implement hash calculation, based on the provided header +- Gorouter SHOULD store the mapping between computed hash values and application instances locally to avoid expensive recalculations for each incoming request - Gorouters SHOULD NOT implement a distributed shared cache -- The Gorouter MUST assess the current number of in-flight requests across all application instances mapped to a +- Gorouter MUST assess the current number of in-flight requests across all application instances mapped to a particular route to consider overload situations -- The Gorouter MUST update its local hash table following the registration or deregistration of an endpoint, ensuring +- Gorouter MUST update its local hash table following the registration or deregistration of an endpoint, ensuring minimal rehashing For a detailed understanding of the workflows on Gorouter's side, please refer to the [activity diagrams](#diagrams). From 8966a9d36d0c146a44b4b6671005a630c974d769 Mon Sep 17 00:00:00 2001 From: Tamara Boehm <34028368+b1tamara@users.noreply.github.com> Date: Fri, 4 Jul 2025 07:43:17 +0200 Subject: [PATCH 12/12] Update hash-based RFC Co-authored-by: Amelia Downs --- toc/rfc/rfc-draft-hash-based-routing.md | 1 + 1 file changed, 1 insertion(+) diff --git a/toc/rfc/rfc-draft-hash-based-routing.md b/toc/rfc/rfc-draft-hash-based-routing.md index 7c0b09436..8bbd7809a 100644 --- a/toc/rfc/rfc-draft-hash-based-routing.md +++ b/toc/rfc/rfc-draft-hash-based-routing.md @@ -129,6 +129,7 @@ A possible presentation of deterministic handling can be a ring like: particular route to consider overload situations - Gorouter MUST update its local hash table following the registration or deregistration of an endpoint, ensuring minimal rehashing +- Gorouter SHOULD NOT not incur any performance hit when 0 apps use hash routing. For a detailed understanding of the workflows on Gorouter's side, please refer to the [activity diagrams](#diagrams).