-
Notifications
You must be signed in to change notification settings - Fork 98
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
Conversation
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.
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. |
c14cbd3
to
0ea1490
Compare
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. |
0ea1490
to
36b65c8
Compare
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. |
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
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. |
84e5138
to
a93c5d3
Compare
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
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. |
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. |
ea1ea8a
to
9e7c3cd
Compare
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. |
9e7c3cd
to
cf7ae07
Compare
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. |
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. |
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 Development images are retained for at least 30 days. |
No description provided.