- DocService
- Thrift API (Async)
- gRPC API (Async)
- REST API (Async)
- Retrofit integration
- RxJava 2
- Spring Boot integration
- Zipkin integration
- Server side: BraveService
- Client side: BraveClient
- Throttling
- Server side: ThrottlingHttpService
- Automatic retry
- Client side: RetryingRpcClient(Thrift), RetryingHttpClient(gRPC, REST)
- Circuit Breaker
- Client side: CircuitBreakerRpcClient(Thrift), CircuitBreakerHttpClient(REST)
- Client-side load balancing
- Central Dogma integration
- CentralDogmaEndpointGroup
This app can be started easily on Kubernetes.
Only Docker for Mac with Kubernetes
is tested for now.
ref: Get started with Docker for Mac - Kubernetes
$ docker run -d -p 15000:5000 --name registry registry:2.8.1
$ make kubectl-create-infra
$ make kubectl-create-infra-data
$ ./gradlew --no-daemon clean build
# or
$ make build-with-docker
$ make docker-build
$ make docker-push
$ make kubectl-create-apps-dev
# or
$ make kubectl-create-apps-prod
$ make kubectl-delete-apps-dev #or kubectl-delete-apps-prod
$ make kubectl-delete-infra
$ docker stop registry
$ docker rm registry