Skip to content

majstorki88/rate_limit_API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RATE LIMIT API

Aplikacija je odrađena spring boot-om i Java tehnologijom u razvojnom okruženju IntelliJ IDEA - Community edition.

Kreirano je:

  • interfejs - GreetService.java na lokaciji src\main\java\com\nemanja\greet\service

  • implementacija interfejsa - GreetServiceImpl.java na lokaciji src\main\java\com\nemanja\greet\service

  • end point - GreetController.java na lokaciji src\main\java\com\nemanja\greet\controller

  • aplikacija za SpringBoot koja se prva pokreće i pokreće aplikaciju - GreetApplication.java na lokaciji src\main\java\com\nemanja\greet\

  • GreetInitializer - implementira Spring Boot servlet i omogućava aplikaciji da se deployuje na bilo koji tomcat.

Aplikacija broji hint-ove prema URL-u http://localhost:8080/greet/$ime

i vraća ispis Hi, $ime!

Brojač je podešen da se resetuje nakon 60 sekundi i nakon 10 pokušaja vraća response: 429 - Too Many Requests

U koliko zelimo da implementiramo fleksibilnu limitaciju, moguće je dodati još jedan end-point koji ima metodu SET kojom bi setovao druge limite

Za Load balanser i aplikaciju koja se vrti na nodovima, kreirali bi bazu i broj hintova bi manage-ovali na baznom nivou.

UPUTSTVO ZA IMPLEMENTACIJU:

Source kod se nalazi u folderu app i .java fajlovi su na lokacijama src\main\java\com\nemanja\greet\

izvršni i kopajlirani kod se nalazi na lokaciji tomcat/ROOT

PREREQUISITES:

Za source kod - razvojno okruženje IntelliJ

Za kontejnere - CentOS 7 x64, instalirani paketi docker engine i docker compose. Instalacija se može naći na https://github.com/majstorki88/load_balanser

Za implementaciju je dovoljno pokrenuti komandu docker-compose -f docker-compose.yml iz foldera rate_limit_API

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published