wso2 / wso2/api-platform

[Task]: Gateway wise partitioning for Platform API

Open
#1,661 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area/Management Aspect/API Priority/High Type/Task
Dominant language
Go
Stars
71
Forks
111
Avg merge
1d 14h
Merged PRs (30d)
110

Description

Please select the area the issue is related to

Area/Management (Management API or Management Portal UI)

Please select the aspect the issue is related to

Aspect/API (API backends, definitions, contracts, interfaces, OpenAPI)

Description

As the number of gateways grow overtime, it would be inefficient to serve all the gateways from a single partition.

  1. Number of websocket connections a platform api can serve could be capped (May be we can resolve this via horizontal scaling)
  2. If the total number of gateways linearly increase the platform api resource requirements (may be due to in memory state keeping, or goroutines running etc) then it would be beneficial to maintain separate partitions.
  3. If we are to partition platform-api should it be subscription wise or application wise

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by examining the Platform API's gateway and websocket connection handling, then identify where in-memory state and goroutines are maintained. Compare subscription-wise and application-wise partitioning against the expected gateway growth and scaling constraints. Done means a partitioning approach and its resource and deployment implications are defined.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend-api-design, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.