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

Refactor Scorer Service into Distinct Service Groups #1537

Closed
4 tasks
nutrina opened this issue Aug 2, 2023 · 4 comments · Fixed by passportxyz/passport-scorer#358 or passportxyz/passport-scorer#361
Closed
4 tasks
Assignees

Comments

@nutrina
Copy link
Collaborator

nutrina commented Aug 2, 2023

Objective:
Enhance our infrastructure's stability and scalability by segmenting the scorer service into distinct service groups. This will allow for more efficient load handling, safer incremental rollouts, and targeted infrastructure improvements.

Details:
To better manage high loads and facilitate safer and incremental infrastructure updates, we aim to segregate the scorer service's functions into specific groups. Each group can then be individually managed during high traffic periods.

Tasks:

  • Passport Requests Service: Handle all ceramic cache requests originating from the Passport App.
  • Read-Only Public API Service: Manage all registry requests, excluding submit-passport.
  • Submit-Passport Requests Service: Exclusively handle /registry/submit-passport requests.
  • Internal API Service: Cater to the API requests used by the scorer web app.

Load Balancer Configuration:

  • Configure the load balancer to route traffic based on the HTTP request PATH.
  • Each service group should inherit the current autoscaling rules. However, consider reducing the minimum number of tasks if necessary.

Implementation Notes:

  • No changes are required for the apps or docker images.
  • All services will utilize the same docker image. The differentiation will be in the subset of API requests they handle, as determined by the load balancer.

Future Implications:
This restructuring will enable us to address infrastructure challenges for each task group individually, allowing for risk-reduced testing and solution implementation.

@nutrina nutrina added this to Passport Aug 2, 2023
@nutrina nutrina converted this from a draft issue Aug 2, 2023
@erichfi erichfi changed the title Split scorer service into service groups Refactor Scorer Service into Distinct Service Groups Aug 7, 2023
@lucianHymer
Copy link
Collaborator

Where do we think the cgrants and trusta_labs modules fit into this? Maybe along side the ceramic cache in Passport Requests Service?

@tim-schultz tim-schultz self-assigned this Aug 18, 2023
@tim-schultz tim-schultz moved this from Backlog to In Progress (WIP) in Passport Aug 18, 2023
@nutrina nutrina self-assigned this Aug 22, 2023
@nutrina
Copy link
Collaborator Author

nutrina commented Aug 22, 2023

The /registry/submit-passport endpoints get most hits by far in the /registry path ...

Image

@nutrina
Copy link
Collaborator Author

nutrina commented Aug 22, 2023

@lucianHymer I would add that to the Internal API Service ...

@erichfi erichfi moved this from In Progress (WIP) to Done in Passport Aug 23, 2023
@erichfi erichfi moved this from Done to In Progress (WIP) in Passport Aug 23, 2023
@erichfi erichfi moved this from In Progress (WIP) to Backlog in Passport Aug 23, 2023
@erichfi erichfi reopened this Aug 23, 2023
@erichfi erichfi moved this from Backlog to In Progress (WIP) in Passport Aug 23, 2023
@erichfi erichfi moved this from In Progress (WIP) to Backlog in Passport Aug 23, 2023
@nutrina nutrina moved this from Backlog to Blocked in Passport Aug 24, 2023
@nutrina
Copy link
Collaborator Author

nutrina commented Aug 24, 2023

Putting this in blocked, I am looking to pair with somebody to help me pull this over the finish line.

@tim-schultz tim-schultz self-assigned this Aug 24, 2023
@tim-schultz tim-schultz moved this from Blocked to In Progress (WIP) in Passport Aug 24, 2023
@tim-schultz tim-schultz moved this from In Progress (WIP) to Product/UX Review in Passport Aug 25, 2023
@erichfi erichfi moved this from Product/UX Review to Ready to Deploy in Passport Aug 28, 2023
@erichfi erichfi moved this from Ready to Deploy to Done in Passport Aug 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment