Replies: 1 comment
-
I think we should optimize the API for the most common use-case, which in my opinion is the following order (starting from most common):
I feel like 1 will be 90% of the cases, and 2 will probably be at least twice as common as 3. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Background
In the proposed CRD-based management, load-balancing policies are defined as a field in the
Spec
of theImport
CRD. The rational here is to allow assigning a load-balancing scheme to each remote service separately, which makes a lot of sense, because remote services are deployed differently and exhibit various performance patterns.The field type is currently undefined.
In this discussion we would like to decide:
Import
the right place to define load-balancing schemes? Another option would be a dedicated load-balancing policy, as we have today.Import
, what should be the type of the field? A simple string? a map from client-name to a scheme? A more complex type?Note that if we choose to define the load-balancing scheme inside
Import
and use just a simple string, we lose the ability to set the scheme based on the requesting client. This might be important, as demonstrated by the following use-case.A possible use-case for setting a per-client scheme
We have two clients:
If we have a per-client scheme, we may allow the high-priority client to access the high-availability remote services, while the low-priority client can always access the same low-latency peer.
This use-case hints towards a need for a load-balancing policy to assign the load-balancing scheme to a <client, service> pair, based on their attributes. We don't really want to handle a herd of clients by specifying their names (as if they were pets).
Additional things to consider
Beta Was this translation helpful? Give feedback.
All reactions