Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mynij-proxy
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Mynij
mynij-proxy
Commits
9dd255d2
Commit
9dd255d2
authored
Jun 29, 2021
by
Stefane Fermigier
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
first commit
parents
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
51 additions
and
0 deletions
+51
-0
README.md
README.md
+51
-0
No files found.
README.md
0 → 100644
View file @
9dd255d2
Minij Proxy
===========
Goal
----
Make a proxy that adds CORS headers to GET request for use by the Minij
search engine.
Current state
-------------
1) Trying to figure out the best (best efficiency / elegance compromise) approach:
- Application: WSGI (sync) vs. ASGI (async)
- WSGI: WebOb vs. Werkzeug (-> they are mostly interchangeable for what we need).
- ASGI: Starlette, Blacksheep, Hug (-> Starlette is probably enough)
- Client: Requests (sync) vs. httpx and aiohttp.client (async)
- Server: Gunicorn, Uvicorn, Gunicorn+Uvicorn, uWsgi, Hypercorn...
See: https://docs.gunicorn.org/en/latest/design.html#choosing-a-worker-type
2) Running benchmarks:
See: src/benchmarks.py. Some results are currently a bit surprising so this is a WIP.
See also: https://gist.github.com/imbolc/15cab07811c32e7d50cc12f380f7f62f for a code example.
And: https://blog.miguelgrinberg.com/post/ignore-all-web-performance-benchmarks-including-this-one
TODO
----
1) Finish benchmarks and choose an approach.
Actually we will probably go with:
- Starlette
- httpx (ou aiohttp.client)
- Gunicorn + uvicorn (`gunicorn -k uvicorn.workers.UvicornWorker`, see: <https://www.uvicorn.org/deployment/>)
- Do we need Nginx in front ? I don't think so but this remains an option.
But this may change after we complete de benchmarks.
2) Make a Buildout recipe for deployment on Rapid.Space.
3) Test and iterate
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment