-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Separate README.md to USAGE.md and ROADMAP.md
- Loading branch information
Showing
3 changed files
with
102 additions
and
81 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
# Roadmap | ||
|
||
Plumber aims to support [Yorkie](https://github.com/yorkie-team/yorkie) as a backend for the load balancer. | ||
The following features are planned to be implemented first: | ||
|
||
### v0.1.0 | ||
|
||
- [x] Support static load balancing with round-robin algorithm | ||
- [x] Support backends health check | ||
|
||
### v0.2.0 | ||
|
||
- [x] Support consistent hashing algorithm with maglev | ||
- [x] Support backend service discovery with Docker API | ||
- [x] Support mechanism to resolve split-brain of long-lived connection | ||
|
||
### v0.3.0 | ||
|
||
- [x] Support backend service discovery with Kubernetes API | ||
- [x] Support Yorkie cluster helm chart | ||
|
||
### v0.4.0 | ||
|
||
- [ ] TBD |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
# Usage | ||
|
||
## Basic Usage | ||
|
||
```bash | ||
# Start the load balancer | ||
./bin/plumber | ||
``` | ||
|
||
## Docker Usage | ||
|
||
We use Docker Compose to test Plumber. | ||
|
||
```bash | ||
# Test the load balancer with docker-compose | ||
make docker-compose-up | ||
|
||
# Start the load balancer with target backend image for service discovery | ||
./bin/plumber --target-backend-image traefik/whoami | ||
|
||
# Send a request to the load balancer | ||
chmod +x ./scripts/lb_distribution_test.sh | ||
./scripts/lb_distribution_test.sh | ||
|
||
# Cleanup the docker-compose | ||
make docker-compose-down | ||
``` | ||
|
||
## Docker Usage with Yorkie | ||
|
||
We use Docker Compose to test Plumber with Yorkie. | ||
|
||
```bash | ||
# Test the load balancer with docker-compose | ||
make docker-compose-yorkie-up | ||
|
||
# Start the load balancer with target backend image for service discovery | ||
./bin/plumber --target-backend-image yorkieteam/yorkie | ||
|
||
# Test with yorkie-js-sdk | ||
git clone https://github.com/yorkie-team/yorkie-js-sdk.git | ||
cd yorkie-js-sdk | ||
npm install | ||
sed -i html 's#http://localhost:8080#http://localhost#g' ./public/index.html | ||
npm run dev | ||
|
||
# Cleanup the docker-compose | ||
make docker-compose-yorkie-down | ||
``` | ||
|
||
## Kubernetes Usage with Yorkie | ||
|
||
We use Minikube to test Plumber with Yorkie. | ||
|
||
```bash | ||
# Start minikube with ingress addon | ||
minikube start | ||
minikube addons enable ingress | ||
|
||
# Install Yorkie cluster with helm chart | ||
helm install yorkie-cluster ./build/charts/yorkie-cluster | ||
|
||
# Expose Yorkie cluster with Minikube tunnel | ||
minikube tunnel | ||
|
||
# Test with yorkie-js-sdk | ||
git clone https://github.com/yorkie-team/yorkie-js-sdk.git | ||
cd yorkie-js-sdk | ||
npm install | ||
sed -i html 's#http://localhost:8080#http://localhost#g' ./public/index.html | ||
npm run dev | ||
|
||
# Cleanup the minikube | ||
minikube delete | ||
``` |