Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Projekt GCP - Aleksandra Śliwska

Żabix (original microservice application) by JKawka and ASliwska - https://github.com/JaKafka/zabix

Projekt ten jest deploymentem Spring-Bootowego REST API o nazwie "Żabix" na Google Cloud Platform. Żabix jest API pozwalającym zalogowanym użytkownikom na:

  • wysyłanie do serwisu obrazków żab wraz z ich nazwami,
  • codziennym głosowaniem na najlepszą żabę,
  • codziennym generowaniem kart kolekcjoneskich z obrazkami żab,
  • dawaniem swoich kart innym użytkownikom.

Samo REST API jest złożone z 3 mikroserwisów napisanych w Javie i Spring-Boot'cie, komunikujących się ze sobą przez HTTPS:

  • /frog - odpowiada za dodawanie żab (obrazek i nazwa), głosowanie na nie, wyświetlanie najpopularniejszych,
  • /card - odpowiada za generowanie kart, usuwanie ich i przekazywanie swoich kart innym użytkownikom,
  • /user - odpowiada za zarządzanie kontem użytkownika.

Każdy z serwisów ma swoją własną bazę danych w PostreSQL, dodatkowo jeden z serwisów (/frog) zapisuje obrazki wysyłane przez użytkowników. W GCP oznacza to poniższe zasoby:

  • 3x Compute Instance Cloud Run - dla 3 mikroserwisów,
  • 3x Cloud SQL - osobny storage dla każdego mikroserwisu,
  • 1x Bucket - do trzymania obrazków.

Każdy serwis generuje logi metryki dla Prometheus (sidecar), które wykorzystywane są w Cloud Monitoring do obserwowania ruchu w API. Całość postawiona jest na GCP za pomocą Terraform.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages