-
Notifications
You must be signed in to change notification settings - Fork 0
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
🐬 implement serp
#38
Comments
This is the original design for It is more complex than we need right now. The API is a dynamic router. From a backend perspective: sequenceDiagram
autonumber
participant P as Pack
participant Q as Queue
participant A as API
participant 0 as Serve0/1/...
participant S as S3
0->>Q: space avail
note left of 0: at startup
Q-->>A:
P->>Q: DB ready
Q-->>A: job
note left of A: choose server
A->>+Q: server choice
Q-->>-0: DB assignment
0->>S: fetch
S-->>0: get db
0-->>+Q: periodic space remianing notice
Q-->>-A: space remaining
All of this is so that, using the queue, we can go from a completed database, through a dynamic space allocation manager (slash dynamic request router) through to a collection of database servers (sqlite files) that can handle search requests. |
See also #35, which was redundant with this ticket. |
At a glance
In order to serve results
as a developer
I want a dynamically routed backend
Acceptance Criteria
We use DRY behavior-driven development wherever possible.
then...
Shepherd
Background
To handle search requests (both WWW and API), it is important to remember that the SERP pages are essentially an HTML wrapper around the API.
If it becomes important,
serp
can share infrastructure withapi
, and route directly to thes0/1/...
services by doubling up on the queue traffic, and having it track things as well. (It won't do assignments, but it could get updates from the servers to find out where content is... this would save the two-hop.)As a first implementation, the
api
service should be OK. We are expecting around 5K PPM peak, and we should be able to do 30-40K PPM with a go-based infrastructure for search results.Security Considerations
Required per CM-4.
These are WWW and API requests against read-only infrastructure. Inputs are sanitized, and we are following all best practices. The data involved is all PII-free/public data.
Process checklist
If there's UI...
The text was updated successfully, but these errors were encountered: