https://github.com/ankitrajput0096/server_side_loadbalancing_using_zuul_and_eureka
Dockerized Spring Boot application for Server side load balancing using Zuul and Eureka.
https://github.com/ankitrajput0096/server_side_loadbalancing_using_zuul_and_eureka
docker docker-compose eureka-client eureka-server java-8 load-balancing server-side spring-boot zuul-proxy
Last synced: 7 months ago
JSON representation
Dockerized Spring Boot application for Server side load balancing using Zuul and Eureka.
- Host: GitHub
- URL: https://github.com/ankitrajput0096/server_side_loadbalancing_using_zuul_and_eureka
- Owner: ankitrajput0096
- Created: 2020-04-19T15:13:34.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-08-25T04:59:06.000Z (about 5 years ago)
- Last Synced: 2025-01-08T17:48:49.609Z (9 months ago)
- Topics: docker, docker-compose, eureka-client, eureka-server, java-8, load-balancing, server-side, spring-boot, zuul-proxy
- Language: Java
- Homepage:
- Size: 69.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Server Side Load Balancing using Zuul and Eureka Spring boot application
Dockerized Spring Boot application for Server side load balancing using Zuul and Eureka.
## Getting Started
These instructions will get you a copy of the project up and running on your local machine for development purposes. See running for notes on how to run the project on a system.
### Prerequisites
1. Clone the project to your local environment:
```
git clone https://github.com/ankitrajput0096/Server_Side_LoadBalancing_Using_Zuul_and_Eureka
```2. You need Docker to be installed:
#### Windows:
https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe
#### Mac:
https://download.docker.com/mac/stable/Docker.dmg
#### Ubuntu:
https://docs.docker.com/install/linux/docker-ce/ubuntu/### Installing
Once you have docker installed on your environment, install the project dependencies via:
Build docker Image:
```
docker-compose build
```## Running
Start docker:
```
docker-compose up
```
OrStart docker with scaled up services:
```
docker-compose up --scale clientone=3 --scale clienttwo=3```
### NOTE:
Can scale up clientone and clienttwo services to max instances of 5.
If you want to scale even higher, then increase the port range in `docker-compose` file.Your Zuul proxy server should be now running on http://localhost:8000, ClientOne server should be now running on http://localhost:8080-8085 and ClientTwo server should be now running on http://localhost:8086-90 and Eureka server cluster should be now running on http://localhost:9001, http://localhost:9002, http://localhost:9003
## Get an access to all exposed API's with Postman
1. Install Postman (https://www.getpostman.com)
2. Import Postman collection from the `Zuul_Eureka_SpringBoot.postman_collection.json` file
3. Enjoy !!## NOTE : To see server side load balancing observe terminal logs of `docker-compose`. When trying to hit same endpoint multiple times parallely.
## Built With
* [Spring Boot](https://spring.io/projects/spring-boot) - Spring Boot 2
* [Maven](https://maven.apache.org/) - Dependency Management
* [Docker](https://www.docker.com/) - For containerization of application
* [Zuul](https://spring.io/guides/gs/routing-and-filtering/) - For Routing and Filtering using Zuul
* [Eureka](https://spring.io/guides/gs/service-registration-and-discovery/) - For Eureka admin and client## Contributing
If you have any improvement suggestions please create a pull request and I'll review it.
## Authors
* **Ankit Rajput** - *Initial work* - [Github](https://github.com/ankitrajput0096)
## License
This project is licensed under the MIT License
## Acknowledgments
* Big thanks to Pivotal for Spring Boot framework, love it!