Placement Control Middleware
Building on the Swift container-sync ability, this work automates the container creating and configuration across multiple clusters and opens the door for a placement engine in Swift.
A placement engine can decide for each request where from a set of clusters the request should be served (its implementation is suggested to be outside of the scope of Swift).
The Placement Middleware would act based on such decision by:
GET/HEAD
* Redirecting the client for calls that should be served elsewhere
* serving from local store for that can be served locally
PUT/POST/DELETE to containers/accounts
* Propagating the requests to peer clusters.
PUT/POST/DELETE to objects
* Serve locally (relying on container sync to do the rest).
This work can be implemented as a Middleware.
It is one step in a long road map if we are to allow people to use multiple clusters in the future and to control the placement.
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- David Hadas
- Definition:
- New
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by