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

Add ability to load triemux from Content Store #490

Draft
wants to merge 16 commits into
base: main
Choose a base branch
from

Conversation

theseanything
Copy link
Contributor

No description provided.

This struct and type contains the logic for routes contained previously
in the Router API and be used to help choose which handler to use.
This allows the function be used with either CsRoute or the existing
Route type.
Used for testing.
This implements the logic to query the content store and populate the
triemux.
Rather than storing backend configration in the Content Store this
allows us to set config via env vars. As there only a few backends,
this is acceptable tradeoff.
This makes a connection pool to the database url specified with he env
var CONTENT_STORE_DATABASE_URL.
This provides a simple feature flag to turn off routing using content
store and allows us to canary a percentage of requests to use the
content store mux. A value of 0.0 will switch off the feature entirely
and prevent the Router from trying to create a connection pool.
This allows us to differentiate the reload duration and route count when
loading from the content-store vs mongo.
This uses that the CsMuxSampleRate to controller the percentage of
requests served by the mux built using the content store data.
This adds a helper function to update csmux with a new version
containing updated routes.
This ensures the file reference isn't dependent on the working
directory, which caused issues during compliation of the main vs
router by itself.
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.

1 participant