Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

loadtest improvements + phoenix #860

Closed
wants to merge 24 commits into from
Closed

Conversation

XAMPPRocky
Copy link
Collaborator

No description provided.

XAMPPRocky and others added 18 commits November 10, 2023 14:16
This commit adds the concept of "datacenter" to our xDS protocol. Unlike
other resources, there's slightly different behaviour between proxies
to relays and relays to agents. When agent queries for a datacenter from
the agent, it returns its own QCMP port and ICAO location. The host then
adds the address of remote agent to identify the datacenter. The proxy
then queries for datacenters, it gets all of agents addresses, ports,
and ICAO codes.

This will be used with a future commit to measure the distance between
proxies and agents.
This commit uses the previous commit of datacentre discovery with an
implementation of Phoenix Network Coordinates[1], to build a
decentralised network coordinate map of all the datacentres that the
proxies know about, using that information, we expose a new HTTP server
at the same QCMP port that a client can use to query what datacentres
are the closest to the proxy.

For identifying datacentres we use ICAO codes, this allows us to
colnsildate multiple logical datacentres into a single location, for
example if you have multiple zones allocated in the same physical
datacentre, in order to reduce the amount of options a client has to
pick from in that case they're consolidated under their ICAO code.

This allows for clients to get their full latency to datacentres which
allows operators to a allocate datacentres dynamically, and in the
closest location available to players.

[1]: https://www.researchgate.net/publication/221198962_Phoenix_Towards_an_Accurate_Practical_and_Decentralized_Network_Coordinate_System
Further improvements on getting the number of endpoints for each packet,
this time the value is cached, this should save us some expensive
Arc::drops from dashmap.
Copy link

This PR exceeds the recommended size of 1000 lines. Please make sure you are NOT addressing multiple issues with one PR. Note this PR might be rejected due to its size.

@XAMPPRocky XAMPPRocky force-pushed the ep/retain-endpoints-new branch from c14cbd3 to 0ea1490 Compare November 19, 2023 13:27
Copy link

This PR exceeds the recommended size of 1000 lines. Please make sure you are NOT addressing multiple issues with one PR. Note this PR might be rejected due to its size.

@XAMPPRocky XAMPPRocky force-pushed the ep/retain-endpoints-new branch from 0ea1490 to 36b65c8 Compare November 19, 2023 13:56
Copy link

This PR exceeds the recommended size of 1000 lines. Please make sure you are NOT addressing multiple issues with one PR. Note this PR might be rejected due to its size.

Copy link

This PR exceeds the recommended size of 1000 lines. Please make sure you are NOT addressing multiple issues with one PR. Note this PR might be rejected due to its size.

1 similar comment
Copy link

This PR exceeds the recommended size of 1000 lines. Please make sure you are NOT addressing multiple issues with one PR. Note this PR might be rejected due to its size.

@XAMPPRocky XAMPPRocky force-pushed the ep/retain-endpoints-new branch from 84e5138 to a93c5d3 Compare November 19, 2023 18:16
Copy link

This PR exceeds the recommended size of 1000 lines. Please make sure you are NOT addressing multiple issues with one PR. Note this PR might be rejected due to its size.

2 similar comments
Copy link

This PR exceeds the recommended size of 1000 lines. Please make sure you are NOT addressing multiple issues with one PR. Note this PR might be rejected due to its size.

Copy link

This PR exceeds the recommended size of 1000 lines. Please make sure you are NOT addressing multiple issues with one PR. Note this PR might be rejected due to its size.

@XAMPPRocky XAMPPRocky force-pushed the ep/retain-endpoints-new branch from ea1ea8a to 9e7c3cd Compare November 22, 2023 20:30
Copy link

This PR exceeds the recommended size of 1000 lines. Please make sure you are NOT addressing multiple issues with one PR. Note this PR might be rejected due to its size.

@XAMPPRocky XAMPPRocky force-pushed the ep/retain-endpoints-new branch from 9e7c3cd to cf7ae07 Compare November 22, 2023 20:37
Copy link

This PR exceeds the recommended size of 1000 lines. Please make sure you are NOT addressing multiple issues with one PR. Note this PR might be rejected due to its size.

Copy link

This PR exceeds the recommended size of 1000 lines. Please make sure you are NOT addressing multiple issues with one PR. Note this PR might be rejected due to its size.

@quilkin-bot
Copy link
Collaborator

Build Failed 😭

Build Id: 8c20e0bc-f32f-46ca-b5b9-eb743eeffef9

Status: FAILURE

To get permission to view the Cloud Build view, join the quilkin-discuss Google Group.

Filter with the Git Commit ca938d6 within us-docker.pkg.dev/quilkin/ci//quilkin to see if a development image is available from this build, and can be used for debugging purposes.

Development images are retained for at least 30 days.

@XAMPPRocky XAMPPRocky closed this Nov 25, 2023
@markmandel markmandel deleted the ep/retain-endpoints-new branch March 11, 2024 05:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants