Skip to content

Mkl#288

Open
pwright wants to merge 7 commits into
skupperproject:mainfrom
pwright:mkl
Open

Mkl#288
pwright wants to merge 7 commits into
skupperproject:mainfrom
pwright:mkl

Conversation

@pwright
Copy link
Copy Markdown
Member

@pwright pwright commented May 26, 2026

@pwright pwright requested review from c-kruse and gabordozsa May 28, 2026 17:15
Copy link
Copy Markdown

@gabordozsa gabordozsa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks very good! I have only minor comments.

strategy. This allows you to aggregate multiple backend services
behind a single service endpoint.

**Key idea:** The multi-key listener does not choose a remote IP
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For me, this seems to suggest that regular listeners do choose remote IPs. But a regular listener behaves similarly in this regard: it doesn't choose a remote IP directly. It chooses among connectors that advertise the same routing key.


The weighted strategy distributes traffic across multiple routing keys
in proportion to their assigned weights. Routing keys with higher
weights receive a larger share of the traffic.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe it would be too much detail for this document, but the "share of traffic" usually refers to the number of bytes transferred. However, it is the number of TCP connections in the MKL context.

Another piece of - maybe too much - detail is that weighted strategy implements a probabilistic distribution, as opposed to the deterministic priority strategy.

Copy link
Copy Markdown

@c-kruse c-kruse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few smaller things! Looks great.

* priority - Uses the first routing key in list that is available for traffic. If the connector becomes unavailable, the listener matches with the next available routing key in list.
* weighted - Uses the routing keys in proportion to the assigned weights. For example, if `backend1` is assigned 25 and `backend2` is assigned 75, then only a quarter of the TCP connections are directed to `backend1`.

Multi-key listeners provide predictable traffic distribution from the client side and are **not influenced by link costs**.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could be too much detail, but as I understand it link costs do not affect the routing key a connection is routed to. Normal link cost + least connected rules apply within that routing key same as a Listener.

their default values.


- `observer`: Set the protocol observer used to generate
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this setting is respected. We recently added this as a spec field: skupperproject/skupper#2464

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants